1diff --git a/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h b/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
2index 16202d8..3afdac3 100644
3--- a/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
4+++ b/include/llvm/ExecutionEngine/Orc/LazyEmittingLayer.h
5@@ -220,7 +220,7 @@ public:
6 Error removeModule(VModuleKey K) {
7 auto I = ModuleMap.find(K);
8 assert(I != ModuleMap.end() && "VModuleKey K not valid here");
9- auto EDM = std::move(I.second);
10+ auto EDM = std::move(I->second);
11 ModuleMap.erase(I);
12 return EDM->removeModuleFromBaseLayer(BaseLayer);
13 }
14diff --git a/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h b/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
15index d9535ce..4c688c3 100644
16--- a/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
17+++ b/include/llvm/ExecutionEngine/Orc/RTDyldObjectLinkingLayer.h
18@@ -472,7 +472,9 @@ private:
19
20 // NB! `LinkedObjects` needs to be destroyed before `NotifyFreed` because
21 // `~ConcreteLinkedObject` calls `NotifyFreed`
22+protected:
23 std::map<VModuleKey, std::unique_ptr<LinkedObject>> LinkedObjects;
24+private:
25 bool ProcessAllSections = false;
26 };
27