summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Orc
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/Core.cpp7
-rw-r--r--llvm/lib/ExecutionEngine/Orc/Legacy.cpp4
2 files changed, 6 insertions, 5 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/Core.cpp b/llvm/lib/ExecutionEngine/Orc/Core.cpp
index ff78ba19939..886bd7e7915 100644
--- a/llvm/lib/ExecutionEngine/Orc/Core.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Core.cpp
@@ -288,8 +288,7 @@ void VSO::finalize(SymbolNameSet SymbolsToFinalize) {
}
}
-LookupFlagsResult VSO::lookupFlags(SymbolNameSet Names) {
- SymbolFlagsMap FlagsFound;
+SymbolNameSet VSO::lookupFlags(SymbolFlagsMap &Flags, SymbolNameSet Names) {
for (SymbolNameSet::iterator I = Names.begin(), E = Names.end(); I != E;) {
auto Tmp = I++;
@@ -301,11 +300,11 @@ LookupFlagsResult VSO::lookupFlags(SymbolNameSet Names) {
Names.erase(Tmp);
- FlagsFound[SymI->first] =
+ Flags[SymI->first] =
JITSymbolFlags::stripTransientFlags(SymI->second.getFlags());
}
- return {std::move(FlagsFound), std::move(Names)};
+ return Names;
}
VSO::LookupResult VSO::lookup(AsynchronousSymbolQuery &Query,
diff --git a/llvm/lib/ExecutionEngine/Orc/Legacy.cpp b/llvm/lib/ExecutionEngine/Orc/Legacy.cpp
index e4eba8bd756..7a11b94c7cf 100644
--- a/llvm/lib/ExecutionEngine/Orc/Legacy.cpp
+++ b/llvm/lib/ExecutionEngine/Orc/Legacy.cpp
@@ -62,8 +62,10 @@ JITSymbolResolverAdapter::lookupFlags(const LookupSet &Symbols) {
for (auto &S : Symbols)
InternedSymbols.insert(ES.getSymbolStringPool().intern(S));
+ SymbolFlagsMap SymbolFlags;
+ R.lookupFlags(SymbolFlags, InternedSymbols);
LookupFlagsResult Result;
- for (auto &KV : R.lookupFlags(InternedSymbols).SymbolFlags) {
+ for (auto &KV : SymbolFlags) {
ResolvedStrings.insert(KV.first);
Result[*KV.first] = KV.second;
}
OpenPOWER on IntegriCloud