From: Lang Hames Date: Tue, 19 Jan 2021 08:51:19 +0000 (+1100) Subject: [ORC] Move LookupRequest from OrcShared to Orc. X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=95b63c7b139449b2d4084e986ca3f5bfde46b50c;p=android-x86%2Fexternal-llvm-project.git [ORC] Move LookupRequest from OrcShared to Orc. It depends on Orc types (SymbolLookupSet), so can't be part of OrcShared. --- diff --git a/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCTargetProcessControl.h b/llvm/include/llvm/ExecutionEngine/Orc/OrcRPCTargetProcessControl.h index 1097ae67b2a..a8aa4279911 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 f43b9299c04..d01b3ef21f8 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 504a5ea0f9e..b60b1ca6e37 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 3442da5810c..bbf3ada1d4b 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 c607ce4d91a..7bf874e88c2 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) {