summaryrefslogtreecommitdiffstats
path: root/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
diff options
context:
space:
mode:
authorLang Hames <lhames@gmail.com>2018-07-20 18:31:52 +0000
committerLang Hames <lhames@gmail.com>2018-07-20 18:31:52 +0000
commitd4df0f17335c125068fed51f554a5d81caebeb1a (patch)
treec9976f0c403de2d1a46735af1c6dc20f0c0588e0 /llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
parentfd0c1e71694ef1def33ec6293dbfae1f4c96f39b (diff)
downloadbcm5719-llvm-d4df0f17335c125068fed51f554a5d81caebeb1a.tar.gz
bcm5719-llvm-d4df0f17335c125068fed51f554a5d81caebeb1a.zip
[ORC] Simplify VSO::lookupFlags to return the flags map.
This discards the unresolved symbols set and returns the flags map directly (rather than mutating it via the first argument). The unresolved symbols result made it easy to chain lookupFlags calls, but such chaining should be rare to non-existant (especially now that symbol resolvers are being deprecated) so the simpler method signature is preferable. llvm-svn: 337594
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h')
-rw-r--r--llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h14
1 files changed, 6 insertions, 8 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
index 922ec476204..ded53ac3106 100644
--- a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
+++ b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h
@@ -144,28 +144,26 @@ class OrcMCJITReplacement : public ExecutionEngine {
public:
LinkingORCResolver(OrcMCJITReplacement &M) : M(M) {}
- SymbolNameSet lookupFlags(SymbolFlagsMap &SymbolFlags,
- const SymbolNameSet &Symbols) override {
- SymbolNameSet UnresolvedSymbols;
+ SymbolFlagsMap lookupFlags(const SymbolNameSet &Symbols) override {
+ SymbolFlagsMap SymbolFlags;
for (auto &S : Symbols) {
if (auto Sym = M.findMangledSymbol(*S)) {
SymbolFlags[S] = Sym.getFlags();
} else if (auto Err = Sym.takeError()) {
M.reportError(std::move(Err));
- return SymbolNameSet();
+ return SymbolFlagsMap();
} else {
if (auto Sym2 = M.ClientResolver->findSymbolInLogicalDylib(*S)) {
SymbolFlags[S] = Sym2.getFlags();
} else if (auto Err = Sym2.takeError()) {
M.reportError(std::move(Err));
- return SymbolNameSet();
- } else
- UnresolvedSymbols.insert(S);
+ return SymbolFlagsMap();
+ }
}
}
- return UnresolvedSymbols;
+ return SymbolFlags;
}
SymbolNameSet lookup(std::shared_ptr<AsynchronousSymbolQuery> Query,
OpenPOWER on IntegriCloud