From: Devang Patel Date: Wed, 15 Apr 2009 00:06:07 +0000 (+0000) Subject: Add a method to check that the subprogram holds debug info for the given Function... X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=af5b6bb6a539f1d4cc3b0f0e10b3c3c9267bbfd1;p=oota-llvm.git Add a method to check that the subprogram holds debug info for the given Function or not. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69113 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/Analysis/DebugInfo.h b/include/llvm/Analysis/DebugInfo.h index c6f09283bd3..a8e124c6f09 100644 --- a/include/llvm/Analysis/DebugInfo.h +++ b/include/llvm/Analysis/DebugInfo.h @@ -309,6 +309,10 @@ namespace llvm { /// dump - print subprogram. void dump() const; + + /// describes - Return true if this subprogram provides debugging + /// information for the function F. + bool describes(const Function *F); }; /// DIGlobalVariable - This is a wrapper for a global variable. diff --git a/lib/Analysis/DebugInfo.cpp b/lib/Analysis/DebugInfo.cpp index 5a8e5cb90b2..7db9b2f3bc4 100644 --- a/lib/Analysis/DebugInfo.cpp +++ b/lib/Analysis/DebugInfo.cpp @@ -291,6 +291,19 @@ uint64_t DIDerivedType::getOriginalTypeSize() const { return BT.getSizeInBits(); } +/// describes - Return true if this subprogram provides debugging +/// information for the function F. +bool DISubprogram::describes(const Function *F) { + assert (F && "Invalid function"); + std::string Name; + getLinkageName(Name); + if (Name.empty()) + getName(Name); + if (!Name.empty() && (strcmp(Name.c_str(), F->getNameStart()) == false)) + return true; + return false; +} + //===----------------------------------------------------------------------===// // DIFactory: Basic Helpers //===----------------------------------------------------------------------===//