diff options
author | Lang Hames <lhames@gmail.com> | 2018-01-22 03:00:31 +0000 |
---|---|---|
committer | Lang Hames <lhames@gmail.com> | 2018-01-22 03:00:31 +0000 |
commit | 635fd9092b059b1fb7327f83963c5009d3edef0e (patch) | |
tree | f04170cc4a08f403f92ae07b35b59a3fadff616b /llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | |
parent | ac471d6db2674ffd74a8be1680ae1e6e2bef50b8 (diff) | |
download | bcm5719-llvm-635fd9092b059b1fb7327f83963c5009d3edef0e.tar.gz bcm5719-llvm-635fd9092b059b1fb7327f83963c5009d3edef0e.zip |
[ORC] Add orc::SymbolResolver, a Orc/Legacy API interop header, and an
orc::SymbolResolver to JITSymbolResolver adapter.
The new orc::SymbolResolver interface uses asynchronous queries for better
performance. (Asynchronous queries with bulk lookup minimize RPC/IPC overhead,
support parallel incoming queries, and expose more available work for
distribution). Existing ORC layers will soon be updated to use the
orc::SymbolResolver API rather than the legacy llvm::JITSymbolResolver API.
Because RuntimeDyld still uses JITSymbolResolver, this patch also includes an
adapter that wraps an orc::SymbolResolver with a JITSymbolResolver API.
llvm-svn: 323073
Diffstat (limited to 'llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp index 9741a48439d..5c4b8c12f34 100644 --- a/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp +++ b/llvm/lib/ExecutionEngine/RuntimeDyld/RuntimeDyld.cpp @@ -211,7 +211,7 @@ RuntimeDyldImpl::loadObjectImpl(const object::ObjectFile &Obj) { // definitions occur elsewhere. JITSymbolResolver::LookupFlagsResult SymbolFlags; { - JITSymbolResolver::SymbolNameSet Symbols; + JITSymbolResolver::LookupSet Symbols; for (auto &Sym : Obj.symbols()) { uint32_t Flags = Sym.getFlags(); if ((Flags & SymbolRef::SF_Common) || (Flags & SymbolRef::SF_Weak)) { @@ -1000,10 +1000,10 @@ Error RuntimeDyldImpl::resolveExternalSymbols() { // Resolution can trigger emission of more symbols, so iterate until // we've resolved *everything*. { - JITSymbolResolver::SymbolNameSet ResolvedSymbols; + JITSymbolResolver::LookupSet ResolvedSymbols; while (true) { - JITSymbolResolver::SymbolNameSet NewSymbols; + JITSymbolResolver::LookupSet NewSymbols; for (auto &RelocKV : ExternalSymbolRelocations) { StringRef Name = RelocKV.first(); |