diff --git a/llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h b/llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h index 9c6daef92833..ed37ea1ea1f7 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.h @@ -40,7 +40,7 @@ public: } void emitRedirectableSymbols(std::unique_ptr R, - const SymbolAddrMap &InitialDests) override; + SymbolAddrMap InitialDests) override; Error redirect(JITDylib &JD, const SymbolAddrMap &NewDests) override; diff --git a/llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h b/llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h index f2ea1f5b64c5..ae94bb2af246 100644 --- a/llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h +++ b/llvm/include/llvm/ExecutionEngine/Orc/RedirectionManager.h @@ -47,8 +47,7 @@ class RedirectableSymbolManager : public RedirectionManager { public: /// Create redirectable symbols with given symbol names and initial /// desitnation symbol addresses. - Error createRedirectableSymbols(ResourceTrackerSP RT, - const SymbolMap &InitialDests); + Error createRedirectableSymbols(ResourceTrackerSP RT, SymbolMap InitialDests); /// Create a single redirectable symbol with given symbol name and initial /// desitnation symbol address. @@ -60,7 +59,7 @@ public: /// Emit redirectable symbol virtual void emitRedirectableSymbols(std::unique_ptr MR, - const SymbolMap &InitialDests) = 0; + SymbolMap InitialDests) = 0; }; /// RedirectableMaterializationUnit materializes redirectable symbol @@ -68,9 +67,9 @@ public: class RedirectableMaterializationUnit : public MaterializationUnit { public: RedirectableMaterializationUnit(RedirectableSymbolManager &RM, - const SymbolMap &InitialDests) + SymbolMap InitialDests) : MaterializationUnit(convertToFlags(InitialDests)), RM(RM), - InitialDests(InitialDests) {} + InitialDests(std::move(InitialDests)) {} StringRef getName() const override { return "RedirectableSymbolMaterializationUnit"; diff --git a/llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp b/llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp index 73136647994f..5ac5604a8ece 100644 --- a/llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp +++ b/llvm/lib/ExecutionEngine/Orc/JITLinkRedirectableSymbolManager.cpp @@ -24,7 +24,7 @@ constexpr StringRef StubSuffix = "$__stub_ptr"; void JITLinkRedirectableSymbolManager::emitRedirectableSymbols( std::unique_ptr R, - const SymbolAddrMap &InitialDests) { + SymbolAddrMap InitialDests) { auto &ES = ObjLinkingLayer.getExecutionSession(); Triple TT = ES.getTargetTriple(); diff --git a/llvm/lib/ExecutionEngine/Orc/RedirectionManager.cpp b/llvm/lib/ExecutionEngine/Orc/RedirectionManager.cpp index cbc77c503430..a4b822bdff61 100644 --- a/llvm/lib/ExecutionEngine/Orc/RedirectionManager.cpp +++ b/llvm/lib/ExecutionEngine/Orc/RedirectionManager.cpp @@ -16,9 +16,9 @@ using namespace llvm::orc; void RedirectionManager::anchor() {} Error RedirectableSymbolManager::createRedirectableSymbols( - ResourceTrackerSP RT, const SymbolMap &InitialDests) { + ResourceTrackerSP RT, SymbolMap InitialDests) { auto &JD = RT->getJITDylib(); - return JD.define( - std::make_unique(*this, InitialDests), - RT); + return JD.define(std::make_unique( + *this, std::move(InitialDests)), + RT); }