Remove llvm::getDISubprogram in favor of Function::getSubprogram
authorPete Cooper <peter_cooper@apple.com>
Fri, 11 Mar 2016 02:14:16 +0000 (02:14 +0000)
committerPete Cooper <peter_cooper@apple.com>
Fri, 11 Mar 2016 02:14:16 +0000 (02:14 +0000)
commitadebb9379ae6ce4622672f971219a61a83838034
tree79249d30f7cefb58aa9ae3f1757d34f4ff5bd050
parentd815c9ab88fd537f7d54c0a6bd0fc6d7f4361c23
Remove llvm::getDISubprogram in favor of Function::getSubprogram

llvm::getDISubprogram walks the instructions in a function, looking for one in the scope of the current function, so that it can find the !dbg entry for the subprogram itself.

Now that !dbg is attached to functions, this should not be necessary. This patch changes all uses to just query the subprogram directly on the function.

Ideally this should be NFC, but in reality its possible that a function:

has no !dbg (in which case there's likely a bug somewhere in an opt pass), or
that none of the instructions had a scope referencing the function, so we used to not find the !dbg on the function but now we will

Reviewed by Duncan Exon Smith.

Differential Revision: http://reviews.llvm.org/D18074

llvm-svn: 263184
llvm/include/llvm/IR/DebugInfo.h
llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
llvm/lib/IR/DebugInfo.cpp
llvm/lib/Transforms/IPO/SampleProfile.cpp
llvm/lib/Transforms/Instrumentation/AddressSanitizer.cpp
llvm/lib/Transforms/Instrumentation/SanitizerCoverage.cpp
llvm/lib/Transforms/Utils/AddDiscriminators.cpp
llvm/test/Transforms/AddDiscriminators/call.ll