aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/IR/DebugInfoMetadata.cpp
diff options
context:
space:
mode:
authorDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-04-11 20:27:40 +0000
committerDuncan P. N. Exon Smith <dexonsmith@apple.com>2015-04-11 20:27:40 +0000
commit7ad0bd54d31788c4858cffa6e203cd06260b800b (patch)
tree6c6961fdbb487b6b9b693098f2da521ccc7e5c03 /llvm/lib/IR/DebugInfoMetadata.cpp
parent5ad6ff76dc898d1dab1aaccee5e193dbf9e04acb (diff)
downloadllvm-7ad0bd54d31788c4858cffa6e203cd06260b800b.zip
llvm-7ad0bd54d31788c4858cffa6e203cd06260b800b.tar.gz
llvm-7ad0bd54d31788c4858cffa6e203cd06260b800b.tar.bz2
DebugInfo: Make MDSubprogram::getFunction() return Constant
Change `MDSubprogram::getFunction()` and `MDGlobalVariable::getConstant()` to return a `Constant`. Previously, both returned `ConstantAsMetadata`. llvm-svn: 234699
Diffstat (limited to 'llvm/lib/IR/DebugInfoMetadata.cpp')
-rw-r--r--llvm/lib/IR/DebugInfoMetadata.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/IR/DebugInfoMetadata.cpp b/llvm/lib/IR/DebugInfoMetadata.cpp
index e98be8e..72126cc 100644
--- a/llvm/lib/IR/DebugInfoMetadata.cpp
+++ b/llvm/lib/IR/DebugInfoMetadata.cpp
@@ -343,6 +343,11 @@ MDSubprogram *MDSubprogram::getImpl(
Ops);
}
+Function *MDSubprogram::getFunction() const {
+ // FIXME: Should this be looking through bitcasts?
+ return dyn_cast_or_null<Function>(getFunctionConstant());
+}
+
void MDSubprogram::replaceFunction(Function *F) {
replaceFunction(F ? ConstantAsMetadata::get(F)
: static_cast<ConstantAsMetadata *>(nullptr));