diff options
author | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-07-16 12:20:31 +0000 |
---|---|---|
committer | Michael Kuperstein <michael.m.kuperstein@intel.com> | 2015-07-16 12:20:31 +0000 |
commit | 8c3b4f2e78fb9e7c16a464062192f2796ab3650c (patch) | |
tree | 10c276b29a9963c43153870a716c198d637377c1 /llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h | |
parent | 7d54fab8f0f40edf0846ca8058a27f814c6b27ff (diff) | |
download | bcm5719-llvm-8c3b4f2e78fb9e7c16a464062192f2796ab3650c.tar.gz bcm5719-llvm-8c3b4f2e78fb9e7c16a464062192f2796ab3650c.zip |
Revert "Make ExecutionEngine owning a DataLayout"
Reverting to fix buildbot breakage.
This reverts commit r242387.
llvm-svn: 242394
Diffstat (limited to 'llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h')
-rw-r--r-- | llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h | 27 |
1 files changed, 13 insertions, 14 deletions
diff --git a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h index a097fdfe950..7dc5164c419 100644 --- a/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h +++ b/llvm/lib/ExecutionEngine/Orc/OrcMCJITReplacement.h @@ -137,26 +137,25 @@ public: } OrcMCJITReplacement( - std::shared_ptr<MCJITMemoryManager> MemMgr, - std::shared_ptr<RuntimeDyld::SymbolResolver> ClientResolver, - std::unique_ptr<TargetMachine> TM) - : ExecutionEngine(*TM->getDataLayout()), TM(std::move(TM)), - MemMgr(*this, std::move(MemMgr)), Resolver(*this), - ClientResolver(std::move(ClientResolver)), NotifyObjectLoaded(*this), - NotifyFinalized(*this), + std::shared_ptr<MCJITMemoryManager> MemMgr, + std::shared_ptr<RuntimeDyld::SymbolResolver> ClientResolver, + std::unique_ptr<TargetMachine> TM) + : TM(std::move(TM)), MemMgr(*this, std::move(MemMgr)), + Resolver(*this), ClientResolver(std::move(ClientResolver)), + NotifyObjectLoaded(*this), NotifyFinalized(*this), ObjectLayer(NotifyObjectLoaded, NotifyFinalized), CompileLayer(ObjectLayer, SimpleCompiler(*this->TM)), - LazyEmitLayer(CompileLayer) {} + LazyEmitLayer(CompileLayer) { + setDataLayout(this->TM->getDataLayout()); + } void addModule(std::unique_ptr<Module> M) override { // If this module doesn't have a DataLayout attached then attach the // default. - if (M->getDataLayout().isDefault()) { - M->setDataLayout(getDataLayout()); - } else { - assert(M->getDataLayout() == getDataLayout() && "DataLayout Mismatch"); - } + if (M->getDataLayout().isDefault()) + M->setDataLayout(*getDataLayout()); + Modules.push_back(std::move(M)); std::vector<Module *> Ms; Ms.push_back(&*Modules.back()); @@ -311,7 +310,7 @@ private: std::string MangledName; { raw_string_ostream MangledNameStream(MangledName); - Mang.getNameWithPrefix(MangledNameStream, Name, getDataLayout()); + Mang.getNameWithPrefix(MangledNameStream, Name, *TM->getDataLayout()); } return MangledName; } |