[llvm] aa061dd - [ORC] Fix the LLJITWithRemoteDebugging example.

Lang Hames via llvm-commits llvm-commits at lists.llvm.org
Mon Sep 27 20:06:31 PDT 2021


Author: Lang Hames
Date: 2021-09-27T20:06:00-07:00
New Revision: aa061ddde77396e8847087a5b6307e0c74e9f8df

URL: https://github.com/llvm/llvm-project/commit/aa061ddde77396e8847087a5b6307e0c74e9f8df
DIFF: https://github.com/llvm/llvm-project/commit/aa061ddde77396e8847087a5b6307e0c74e9f8df.diff

LOG: [ORC] Fix the LLJITWithRemoteDebugging example.

This was broken by the switch from JITTargetAddress to ExecutorAddr in
21a06254a3a.

Added: 
    

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

Removed: 
    


################################################################################
diff  --git a/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp b/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
index 2616dd225d021..fdc925d8ea39d 100644
--- a/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
+++ b/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp
@@ -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(); }

diff  --git a/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h b/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h
index f2d72c00a612d..c14534e33d849 100644
--- a/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h
+++ b/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h
@@ -340,15 +340,16 @@ class OrcRPCExecutorProcessControlBase : public ExecutorProcessControl {
   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 @@ class OrcRPCExecutorProcessControlBase : public ExecutorProcessControl {
                         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 @@ class OrcRPCExecutorProcessControlBase : public ExecutorProcessControl {
 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)](


        


More information about the llvm-commits mailing list