summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Orc/Legacy.cpp
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2018-07-20 18:31:53 +0000
committerLang Hames <lhames@gmail.com>2018-07-20 18:31:53 +0000
commit732d116a968da8d74131c568b579cfa33ffa2b30 (patch)
treea64c17f152311c136c10d2ab6151ce853edb83cb /llvm/lib/ExecutionEngine/Orc/Legacy.cpp
parentd4df0f17335c125068fed51f554a5d81caebeb1a (diff)
downloadbcm5719-llvm-732d116a968da8d74131c568b579cfa33ffa2b30.tar.gz
bcm5719-llvm-732d116a968da8d74131c568b579cfa33ffa2b30.zip
[ORC] Add new symbol lookup methods to ExecutionSessionBase in preparation for
deprecating SymbolResolver and AsynchronousSymbolQuery. Both lookup overloads take a VSO search order to perform the lookup. The first overload is non-blocking and takes OnResolved and OnReady callbacks. The second is blocking, takes a boolean flag to indicate whether to wait until all symbols are ready, and returns a SymbolMap. Both overloads take a RegisterDependencies function to register symbol dependencies (if any) on the query. llvm-svn: 337595
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/Legacy.cpp')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/Legacy.cpp10
1 files changed, 8 insertions, 2 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/Legacy.cpp b/llvm/lib/ExecutionEngine/Orc/Legacy.cpp
index 6fde6898a16..22775ef14f8 100644
--- a/llvm/lib/ExecutionEngine/Orc/Legacy.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Legacy.cpp
@@ -29,8 +29,14 @@ JITSymbolResolverAdapter::lookup(const LookupSet &Symbols) {
return R.lookup(std::move(Q), std::move(Unresolved));
};
- auto InternedResult = blockingLookup(ES, std::move(LookupFn),
- std::move(InternedSymbols), false, MR);
+ auto RegisterDependencies = [&](const SymbolDependenceMap &Deps) {
+ if (MR)
+ MR->addDependencies(Deps);
+ };
+
+ auto InternedResult =
+ ES.legacyLookup(ES, std::move(LookupFn), std::move(InternedSymbols),
+ false, RegisterDependencies);
if (!InternedResult)
return InternedResult.takeError();
OpenPOWER on IntegriCloud