Fix OProfile support after r80406 changed the DebugInfo interface from

GlobalVariables to MDNodes.

llvm-svn: 80411
This commit is contained in:
Jeffrey Yasskin 2009-08-29 00:44:16 +00:00
parent db0cb257be
commit 93ed558d9f

View File

@ -71,12 +71,12 @@ OProfileJITEventListener::~OProfileJITEventListener() {
class FilenameCache {
// Holds the filename of each CompileUnit, so that we can pass the
// pointer into oprofile. These char*s are freed in the destructor.
DenseMap<GlobalVariable*, char*> Filenames;
DenseMap<MDNode*, char*> Filenames;
// Used as the scratch space in DICompileUnit::getFilename().
std::string TempFilename;
public:
const char* getFilename(GlobalVariable *CompileUnit) {
const char* getFilename(MDNode *CompileUnit) {
char *&Filename = Filenames[CompileUnit];
if (Filename == NULL) {
DICompileUnit CU(CompileUnit);
@ -85,7 +85,7 @@ class FilenameCache {
return Filename;
}
~FilenameCache() {
for (DenseMap<GlobalVariable*, char*>::iterator
for (DenseMap<MDNode*, char*>::iterator
I = Filenames.begin(), E = Filenames.end(); I != E;++I) {
free(I->second);
}