From 95b63c7b139449b2d4084e986ca3f5bfde46b50c Mon Sep 17 00:00:00 2001 From: Lang Hames Date: Tue, 19 Jan 2021 19:51:19 +1100 Subject: [PATCH] [ORC] Move LookupRequest from OrcShared to Orc. It depends on Orc types (SymbolLookupSet), so can't be part of OrcShared. --- .../llvm/ExecutionEngine/Orc/OrcRPCTargetProcessControl.h | 2 +- .../ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h | 9 --------- llvm/include/llvm/ExecutionEngine/Orc/TargetProcessControl.h | 12 ++++++++++-- .../ExecutionEngine/Orc/TPCDynamicLibrarySearchGenerator.cpp | 2 +- llvm/lib/ExecutionEngine/Orc/TargetProcessControl.cpp | 3 +-- 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCTargetProcessControl.h b/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCTargetProcessControl.h index 1097ae6..a8aa4279 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCTargetProcessControl.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCTargetProcessControl.h @@ -309,7 +309,7 @@ public: } Expected> - lookupSymbols(ArrayRef Request) override { + lookupSymbols(ArrayRef Request) override { std::vector RR; for (auto &E : Request) { RR.push_back({}); diff --git a/llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h b/llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h index f43b929..d01b3ef 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/Shared/TargetProcessControlTypes.h @@ -17,7 +17,6 @@ #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/StringRef.h" #include "llvm/ExecutionEngine/JITSymbol.h" -#include "llvm/ExecutionEngine/Orc/Core.h" #include @@ -60,14 +59,6 @@ struct BufferWrite { /// A handle used to represent a loaded dylib in the target process. using DylibHandle = JITTargetAddress; -/// A pair of a dylib and a set of symbols to be looked up. -struct LookupRequest { - LookupRequest(DylibHandle Handle, const SymbolLookupSet &Symbols) - : Handle(Handle), Symbols(Symbols) {} - DylibHandle Handle; - const SymbolLookupSet &Symbols; -}; - using LookupResult = std::vector; /// Either a uint8_t array or a uint8_t*. diff --git a/llvm/include/llvm/ExecutionEngine/Orc/TargetProcessControl.h b/llvm/include/llvm/ExecutionEngine/Orc/TargetProcessControl.h index 504a5ea0..b60b1ca 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/TargetProcessControl.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/TargetProcessControl.h @@ -90,6 +90,14 @@ public: } }; + /// A pair of a dylib and a set of symbols to be looked up. + struct LookupRequest { + LookupRequest(tpctypes::DylibHandle Handle, const SymbolLookupSet &Symbols) + : Handle(Handle), Symbols(Symbols) {} + tpctypes::DylibHandle Handle; + const SymbolLookupSet &Symbols; + }; + virtual ~TargetProcessControl(); /// Intern a symbol name in the SymbolStringPool. @@ -123,7 +131,7 @@ public: /// symbol is not found then it be assigned a '0' value in the result. /// that correspond to the lookup order. virtual Expected> - lookupSymbols(ArrayRef Request) = 0; + lookupSymbols(ArrayRef Request) = 0; /// Run function with a main-like signature. virtual Expected runAsMain(JITTargetAddress MainFnAddr, @@ -172,7 +180,7 @@ public: Expected loadDylib(const char *DylibPath) override; Expected> - lookupSymbols(ArrayRef Request) override; + lookupSymbols(ArrayRef Request) override; Expected runAsMain(JITTargetAddress MainFnAddr, ArrayRef Args) override; diff --git a/llvm/lib/ExecutionEngine/Orc/TPCDynamicLibrarySearchGenerator.cpp b/llvm/lib/ExecutionEngine/Orc/TPCDynamicLibrarySearchGenerator.cpp index 3442da5..bbf3ada 100644 --- a/llvm/lib/ExecutionEngine/Orc/TPCDynamicLibrarySearchGenerator.cpp +++ b/llvm/lib/ExecutionEngine/Orc/TPCDynamicLibrarySearchGenerator.cpp @@ -41,7 +41,7 @@ Error TPCDynamicLibrarySearchGenerator::tryToGenerate( SymbolMap NewSymbols; - tpctypes::LookupRequest Request(H, LookupSymbols); + TargetProcessControl::LookupRequest Request(H, LookupSymbols); auto Result = TPC.lookupSymbols(Request); if (!Result) return Result.takeError(); diff --git a/llvm/lib/ExecutionEngine/Orc/TargetProcessControl.cpp b/llvm/lib/ExecutionEngine/Orc/TargetProcessControl.cpp index c607ce4..7bf874e 100644 --- a/llvm/lib/ExecutionEngine/Orc/TargetProcessControl.cpp +++ b/llvm/lib/ExecutionEngine/Orc/TargetProcessControl.cpp @@ -65,8 +65,7 @@ SelfTargetProcessControl::loadDylib(const char *DylibPath) { } Expected> -SelfTargetProcessControl::lookupSymbols( - ArrayRef Request) { +SelfTargetProcessControl::lookupSymbols(ArrayRef Request) { std::vector R; for (auto &Elem : Request) { -- 2.7.4