diff options
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/Layer.cpp')
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/Layer.cpp | 27 |
1 files changed, 14 insertions, 13 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/Layer.cpp b/llvm/lib/ExecutionEngine/Orc/Layer.cpp index 22dbf5c26d1..11af76825e9 100644 --- a/llvm/lib/ExecutionEngine/Orc/Layer.cpp +++ b/llvm/lib/ExecutionEngine/Orc/Layer.cpp @@ -19,14 +19,14 @@ namespace orc { IRLayer::IRLayer(ExecutionSession &ES) : ES(ES) {} IRLayer::~IRLayer() {} -Error IRLayer::add(JITDylib &JD, VModuleKey K, ThreadSafeModule TSM) { +Error IRLayer::add(JITDylib &JD, ThreadSafeModule TSM, VModuleKey K) { return JD.define(llvm::make_unique<BasicIRLayerMaterializationUnit>( *this, std::move(K), std::move(TSM))); } IRMaterializationUnit::IRMaterializationUnit(ExecutionSession &ES, - ThreadSafeModule TSM) - : MaterializationUnit(SymbolFlagsMap()), TSM(std::move(TSM)) { + ThreadSafeModule TSM, VModuleKey K) + : MaterializationUnit(SymbolFlagsMap(), std::move(K)), TSM(std::move(TSM)) { assert(this->TSM && "Module must not be null"); @@ -42,10 +42,10 @@ IRMaterializationUnit::IRMaterializationUnit(ExecutionSession &ES, } IRMaterializationUnit::IRMaterializationUnit( - ThreadSafeModule TSM, SymbolFlagsMap SymbolFlags, + ThreadSafeModule TSM, VModuleKey K, SymbolFlagsMap SymbolFlags, SymbolNameToDefinitionMap SymbolToDefinition) - : MaterializationUnit(std::move(SymbolFlags)), TSM(std::move(TSM)), - SymbolToDefinition(std::move(SymbolToDefinition)) {} + : MaterializationUnit(std::move(SymbolFlags), std::move(K)), + TSM(std::move(TSM)), SymbolToDefinition(std::move(SymbolToDefinition)) {} StringRef IRMaterializationUnit::getName() const { if (TSM.getModule()) @@ -71,8 +71,9 @@ void IRMaterializationUnit::discard(const JITDylib &JD, BasicIRLayerMaterializationUnit::BasicIRLayerMaterializationUnit( IRLayer &L, VModuleKey K, ThreadSafeModule TSM) - : IRMaterializationUnit(L.getExecutionSession(), std::move(TSM)), L(L), - K(std::move(K)) {} + : IRMaterializationUnit(L.getExecutionSession(), std::move(TSM), + std::move(K)), + L(L), K(std::move(K)) {} void BasicIRLayerMaterializationUnit::materialize( MaterializationResponsibility R) { @@ -94,7 +95,7 @@ void BasicIRLayerMaterializationUnit::materialize( dbgs() << "Emitting, for " << R.getTargetJITDylib().getName() << ", " << *this << "\n"; });); - L.emit(std::move(R), std::move(K), std::move(TSM)); + L.emit(std::move(R), std::move(TSM)); LLVM_DEBUG(ES.runSessionLocked([&]() { dbgs() << "Finished emitting, for " << R.getTargetJITDylib().getName() << ", " << *this << "\n"; @@ -105,8 +106,8 @@ ObjectLayer::ObjectLayer(ExecutionSession &ES) : ES(ES) {} ObjectLayer::~ObjectLayer() {} -Error ObjectLayer::add(JITDylib &JD, VModuleKey K, - std::unique_ptr<MemoryBuffer> O) { +Error ObjectLayer::add(JITDylib &JD, std::unique_ptr<MemoryBuffer> O, + VModuleKey K) { auto ObjMU = BasicObjectLayerMaterializationUnit::Create(*this, std::move(K), std::move(O)); if (!ObjMU) @@ -131,7 +132,7 @@ BasicObjectLayerMaterializationUnit::Create(ObjectLayer &L, VModuleKey K, BasicObjectLayerMaterializationUnit::BasicObjectLayerMaterializationUnit( ObjectLayer &L, VModuleKey K, std::unique_ptr<MemoryBuffer> O, SymbolFlagsMap SymbolFlags) - : MaterializationUnit(std::move(SymbolFlags)), L(L), K(std::move(K)), + : MaterializationUnit(std::move(SymbolFlags), std::move(K)), L(L), O(std::move(O)) {} StringRef BasicObjectLayerMaterializationUnit::getName() const { @@ -142,7 +143,7 @@ StringRef BasicObjectLayerMaterializationUnit::getName() const { void BasicObjectLayerMaterializationUnit::materialize( MaterializationResponsibility R) { - L.emit(std::move(R), std::move(K), std::move(O)); + L.emit(std::move(R), std::move(O)); } void BasicObjectLayerMaterializationUnit::discard(const JITDylib &JD, |