mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2025-02-22 13:29:44 +00:00
DebugInfo: Migrate DISubprogram::describes() to new hierarchy, NFC
I don't really like this function at all -- I think it should be as simple as `return getFunction() == F` -- but for now this seems like the best we can do. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@234778 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
parent
b6852d12a8
commit
8ca57e685e
@ -520,7 +520,7 @@ public:
|
||||
DITypeRef getContainingType() const { return get()->getContainingType(); }
|
||||
|
||||
/// \brief Check if this provides debugging information for the function F.
|
||||
bool describes(const Function *F);
|
||||
bool describes(const Function *F) const { return get()->describes(F); }
|
||||
|
||||
Function *getFunction() const { return get()->getFunction(); }
|
||||
|
||||
|
@ -1386,6 +1386,11 @@ public:
|
||||
void replaceFunction(std::nullptr_t) { replaceOperandWith(7, nullptr); }
|
||||
/// @}
|
||||
|
||||
/// \brief Check if this subprogram decribes the given function.
|
||||
///
|
||||
/// FIXME: Should this be looking through bitcasts?
|
||||
bool describes(const Function *F) const;
|
||||
|
||||
static bool classof(const Metadata *MD) {
|
||||
return MD->getMetadataID() == MDSubprogramKind;
|
||||
}
|
||||
|
@ -49,18 +49,6 @@ bool DIVariable::isInlinedFnArgument(const Function *CurFn) {
|
||||
return !SP.describes(CurFn);
|
||||
}
|
||||
|
||||
bool DISubprogram::describes(const Function *F) {
|
||||
assert(F && "Invalid function");
|
||||
if (F == getFunction())
|
||||
return true;
|
||||
StringRef Name = getLinkageName();
|
||||
if (Name.empty())
|
||||
Name = getName();
|
||||
if (F->getName() == Name)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
GlobalVariable *DIGlobalVariable::getGlobal() const {
|
||||
return dyn_cast_or_null<GlobalVariable>(getConstant());
|
||||
}
|
||||
|
@ -348,6 +348,16 @@ Function *MDSubprogram::getFunction() const {
|
||||
return dyn_cast_or_null<Function>(getFunctionConstant());
|
||||
}
|
||||
|
||||
bool MDSubprogram::describes(const Function *F) const {
|
||||
assert(F && "Invalid function");
|
||||
if (F == getFunction())
|
||||
return true;
|
||||
StringRef Name = getLinkageName();
|
||||
if (Name.empty())
|
||||
Name = getName();
|
||||
return F->getName() == Name;
|
||||
}
|
||||
|
||||
void MDSubprogram::replaceFunction(Function *F) {
|
||||
replaceFunction(F ? ConstantAsMetadata::get(F)
|
||||
: static_cast<ConstantAsMetadata *>(nullptr));
|
||||
|
Loading…
x
Reference in New Issue
Block a user