summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeffrey Yasskin <jyasskin@google.com>2010-04-05 21:09:12 +0000
committerJeffrey Yasskin <jyasskin@google.com>2010-04-05 21:09:12 +0000
commit376ac434addd3b3652bf195c350463992e1df262 (patch)
treeb6fb72eb2d304ecee765c9fed8a041c0f39d4bbb
parent7b55d3665cc1f19859a77426f65218c8083b3142 (diff)
downloadllvm-376ac434addd3b3652bf195c350463992e1df262.tar.gz
llvm-376ac434addd3b3652bf195c350463992e1df262.tar.bz2
llvm-376ac434addd3b3652bf195c350463992e1df262.tar.xz
Fix OProfileJITEventListener build for new DebugLoc.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@100461 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp13
1 files changed, 7 insertions, 6 deletions
diff --git a/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp b/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp
index 2baf97911d..9c01b7329a 100644
--- a/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp
+++ b/lib/ExecutionEngine/JIT/OProfileJITEventListener.cpp
@@ -19,6 +19,7 @@
#define DEBUG_TYPE "oprofile-jit-event-listener"
#include "llvm/Function.h"
#include "llvm/Metadata.h"
+#include "llvm/ADT/DenseMap.h"
#include "llvm/Analysis/DebugInfo.h"
#include "llvm/CodeGen/MachineFunction.h"
#include "llvm/ExecutionEngine/JITEventListener.h"
@@ -77,10 +78,10 @@ class FilenameCache {
DenseMap<AssertingVH<MDNode>, std::string> Filenames;
public:
- const char *getFilename(DIScope Scope) {
- std::string &Filename = Filenames[Scope.getNode()];
+ const char *getFilename(MDNode *Scope) {
+ std::string &Filename = Filenames[Scope];
if (Filename.empty()) {
- Filename = Scope.getFilename();
+ Filename = DIScope(Scope).getFilename();
}
return Filename.c_str();
}
@@ -91,9 +92,9 @@ static debug_line_info LineStartToOProfileFormat(
uintptr_t Address, DebugLoc Loc) {
debug_line_info Result;
Result.vma = Address;
- DILocation DILoc = MF.getDILocation(Loc);
- Result.lineno = DILoc.getLineNumber();
- Result.filename = Filenames.getFilename(DILoc.getScope());
+ Result.lineno = Loc.getLine();
+ Result.filename = Filenames.getFilename(
+ Loc.getScope(MF.getFunction()->getContext()));
DEBUG(dbgs() << "Mapping " << reinterpret_cast<void*>(Result.vma) << " to "
<< Result.filename << ":" << Result.lineno << "\n");
return Result;