[PATCH] D18074: Remove llvm::getDISubprogram in favor of Function::getSubprogram

Duncan P. N. Exon Smith via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 10 18:05:08 PST 2016


This is a great cleanup, thanks.  LGTM.

> On 2016-Mar-10, at 17:39, Pete Cooper <peter_cooper at apple.com> wrote:
> 
> pete created this revision.
> pete added reviewers: dblaikie, aprantl, echristo.
> pete added subscribers: llvm-commits, dexonsmith.
> pete set the repository for this revision to rL LLVM.
> 
> Hi all
> 
> 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
> 
> There are many many tests covering this, including one which needed changed in this patch, so i'm not sure if we need more or not.  I'm happy to add ones if needed though.
> 
> Thanks,
> Pete
> 
> Repository:
>  rL LLVM
> 
> http://reviews.llvm.org/D18074
> 
> Files:
>  include/llvm/IR/DebugInfo.h
>  lib/CodeGen/AsmPrinter/CodeViewDebug.cpp
>  lib/IR/DebugInfo.cpp
>  lib/Transforms/IPO/SampleProfile.cpp
>  lib/Transforms/Instrumentation/AddressSanitizer.cpp
>  lib/Transforms/Instrumentation/SanitizerCoverage.cpp
>  lib/Transforms/Utils/AddDiscriminators.cpp
>  test/Transforms/AddDiscriminators/call.ll
> 
> <D18074.50385.patch>



More information about the llvm-commits mailing list