From 6623af789290def4513b835e6a2b8bdcccc1030f Mon Sep 17 00:00:00 2001 From: Elena Demikhovsky Date: Thu, 21 Aug 2014 07:01:55 +0000 Subject: [PATCH] IntelJITEventListener updates to fix breaks by recent changes to EngineBuilder and DIContext. By Arch Robison. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@216159 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp | 2 +- tools/llvm-jitlistener/llvm-jitlistener.cpp | 5 ++--- unittests/ExecutionEngine/JIT/JITEventListenerTestCommon.h | 2 +- 3 files changed, 4 insertions(+), 5 deletions(-) diff --git a/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp b/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp index 4e22a8b3ea0..29be7c74902 100644 --- a/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp +++ b/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp @@ -190,7 +190,7 @@ void IntelJITEventListener::NotifyFreeingMachineCode(void *FnStart) { void IntelJITEventListener::NotifyObjectEmitted(const ObjectImage &Obj) { // Get the address of the object image for use as a unique identifier const void* ObjData = Obj.getData().data(); - DIContext* Context = DIContext::getDWARFContext(Obj.getObjectFile()); + DIContext* Context = DIContext::getDWARFContext(*Obj.getObjectFile()); MethodAddressVector Functions; // Use symbol info to iterate functions in the object. diff --git a/tools/llvm-jitlistener/llvm-jitlistener.cpp b/tools/llvm-jitlistener/llvm-jitlistener.cpp index c159aa506d6..a6554698c17 100644 --- a/tools/llvm-jitlistener/llvm-jitlistener.cpp +++ b/tools/llvm-jitlistener/llvm-jitlistener.cpp @@ -113,7 +113,7 @@ protected: // Parse the bitcode... SMDiagnostic Err; - TheModule = ParseIRFile(IRFile, Err, Context); + std::unique_ptr TheModule(ParseIRFile(IRFile, Err, Context)); if (!TheModule) { errs() << Err.getMessage(); return; @@ -145,7 +145,7 @@ protected: // Compile the IR std::string Error; - TheJIT.reset(EngineBuilder(TheModule) + TheJIT.reset(EngineBuilder(std::move(TheModule)) .setEngineKind(EngineKind::JIT) .setErrorStr(&Error) .setJITMemoryManager(MemMgr) @@ -160,7 +160,6 @@ protected: } LLVMContext Context; // Global ownership - Module *TheModule; // Owned by ExecutionEngine. JITMemoryManager *JMM; // Owned by ExecutionEngine. std::unique_ptr TheJIT; diff --git a/unittests/ExecutionEngine/JIT/JITEventListenerTestCommon.h b/unittests/ExecutionEngine/JIT/JITEventListenerTestCommon.h index 61220f545f9..2af688c777e 100644 --- a/unittests/ExecutionEngine/JIT/JITEventListenerTestCommon.h +++ b/unittests/ExecutionEngine/JIT/JITEventListenerTestCommon.h @@ -66,7 +66,7 @@ public: JITEventListenerTestBase(WrapperT* w) : MockWrapper(w) , M(new llvm::Module("module", llvm::getGlobalContext())) - , EE(llvm::EngineBuilder(M) + , EE(llvm::EngineBuilder(std::unique_ptr(M)) .setEngineKind(llvm::EngineKind::JIT) .setOptLevel(llvm::CodeGenOpt::None) .create()) -- 2.34.1