diff options
author | Lang Hames <lhames@gmail.com> | 2018-07-20 18:31:53 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2018-07-20 18:31:53 +0000 |
commit | 732d116a968da8d74131c568b579cfa33ffa2b30 (patch) | |
tree | a64c17f152311c136c10d2ab6151ce853edb83cb /llvm/lib/ExecutionEngine/Orc/Legacy.cpp | |
parent | d4df0f17335c125068fed51f554a5d81caebeb1a (diff) | |
download | bcm5719-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.cpp | 10 |
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(); |