From: Rafael Espindola Date: Fri, 3 Jul 2015 21:47:00 +0000 (+0000) Subject: Fix build with -DLLVM_USE_INTEL_JITEVENTS=ON -DLLVM_USE_OPROFILE=ON. X-Git-Url: http://plrg.eecs.uci.edu/git/?p=oota-llvm.git;a=commitdiff_plain;h=643de689aafb124fe17775ab1467583ea9be81ae Fix build with -DLLVM_USE_INTEL_JITEVENTS=ON -DLLVM_USE_OPROFILE=ON. Is anyone using those? git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@241372 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp b/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp index 907144007fd..4e7d209b7b4 100644 --- a/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp +++ b/lib/ExecutionEngine/IntelJITEvents/IntelJITEventListener.cpp @@ -118,9 +118,10 @@ void IntelJITEventListener::NotifyObjectEmitted( if (!Name) continue; - uint64_t Addr; - if (Sym.getAddress(Addr)) + ErrorOr AddrOrErr = Sym.getAddress(); + if (AddrOrErr.getError()) continue; + uint64_t Addr = *AddrOrErr; uint64_t Size = P.second; // Record this address in a local vector diff --git a/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp b/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp index b7203380526..d2fc4c784ec 100644 --- a/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp +++ b/lib/ExecutionEngine/OProfileJIT/OProfileJITEventListener.cpp @@ -89,12 +89,14 @@ void OProfileJITEventListener::NotifyObjectEmitted( for (const std::pair &P : computeSymbolSizes(DebugObj)) { SymbolRef Sym = P.first; if (Sym.getType() == SymbolRef::ST_Function) { - StringRef Name; - uint64_t Addr; - if (Sym.getName(Name)) + ErrorOr NameOrErr = Sym.getName(); + if (NameOrErr.getError()) continue; - if (Sym.getAddress(Addr)) + StringRef Name = *NameOrErr; + ErrorOr AddrOrErr = Sym.getAddress(); + if (AddrOrErr.getError()) continue; + uint64_t Addr = *AddrOrErr; uint64_t Size = P.second; if (Wrapper->op_write_native_code(Name.data(), Addr, (void*)Addr, Size) @@ -126,8 +128,10 @@ void OProfileJITEventListener::NotifyFreeingObject(const ObjectFile &Obj) { E = DebugObj.symbol_end(); I != E; ++I) { if (I->getType() == SymbolRef::ST_Function) { - uint64_t Addr; - if (I->getAddress(Addr)) continue; + ErrorOr AddrOrErr = I->getAddress(); + if (AddrOrErr.getError()) + continue; + uint64_t Addr = *AddrOrErr; if (Wrapper->op_unload_native_code(Addr) == -1) { DEBUG(dbgs() diff --git a/tools/llvm-jitlistener/CMakeLists.txt b/tools/llvm-jitlistener/CMakeLists.txt index 68a4303acef..e2b30e1950e 100644 --- a/tools/llvm-jitlistener/CMakeLists.txt +++ b/tools/llvm-jitlistener/CMakeLists.txt @@ -6,7 +6,7 @@ include_directories( ${LLVM_INTEL_JITEVENTS_INCDIR} ) set(LLVM_LINK_COMPONENTS asmparser bitreader - debuginfo + DebugInfoDWARF inteljitevents interpreter irreader