From aa061ddde77396e8847087a5b6307e0c74e9f8df Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Mon, 27 Sep 2021 20:04:39 -0700 Subject: [PATCH] [ORC] Fix the LLJITWithRemoteDebugging example. This was broken by the switch from JITTargetAddress to ExecutorAddr in 21a06254a3a. --- .../LLJITWithRemoteDebugging/RemoteJITUtils.cpp | 2 +- .../llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp b/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp index 2616dd2..fdc925d 100644 --- a/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp +++ b/llvm/examples/OrcV2Examples/LLJITWithRemoteDebugging/RemoteJITUtils.cpp @@ -141,7 +141,7 @@ JITLinkExecutor::loadDylib(StringRef RemotePath) { Expected JITLinkExecutor::runAsMain(JITEvaluatedSymbol MainSym, ArrayRef 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 f2d72c0..c14534e 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCExecutorProcessControl.h @@ -340,15 +340,16 @@ public: Expected runAsMain(ExecutorAddr MainFnAddr, ArrayRef 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(MainFnAddr, Args); + auto Result = + EP.template callB(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 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( - WrapperFnAddr, + WrapperFnAddr.getValue(), ArrayRef(reinterpret_cast(ArgBuffer.data()), ArgBuffer.size())); @@ -412,7 +413,7 @@ protected: private: Error runWrapperInJIT( std::function)> SendResult, - ExecutorAddr FunctionTag, std::vector ArgBuffer) { + JITTargetAddress FunctionTag, std::vector ArgBuffer) { getExecutionSession().runJITDispatchHandler( [this, SendResult = std::move(SendResult)]( -- 2.7.4