OSDN Git Service

[StripDeadDebug/DIFinder] Track inlined SPs
authorKeno Fischer <keno@alumni.harvard.edu>
Tue, 11 Apr 2017 13:32:11 +0000 (13:32 +0000)
committerKeno Fischer <keno@alumni.harvard.edu>
Tue, 11 Apr 2017 13:32:11 +0000 (13:32 +0000)
commit1a173576c93ee288b8b7c23139abd831ead050d9
tree2691e2ca2011feeb88c7711797d30263c26902ba
parent465e205500e2f01f8fd295469162c278810b8038
[StripDeadDebug/DIFinder] Track inlined SPs

Summary:
In rL299692 I improved strip-dead-debug-info's ability to drop CUs that are not
referenced from the current module. However, in doing so I neglected to realize
that some SPs could be referenced entirely from inlined functions. It appears
I was not the only one to make this mistake, because DebugInfoFinder, doesn't
find those SPs either. Fix this in DebugInfoFinder and then use that to make
sure not to drop those CUs in strip-dead-debug-info.

Reviewers: aprantl

Reviewed By: aprantl

Subscribers: llvm-commits

Differential Revision: https://reviews.llvm.org/D31904

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@299936 91177308-0d34-0410-b5e6-96231b3b80d8
lib/IR/DebugInfo.cpp
lib/Transforms/IPO/StripSymbols.cpp
test/DebugInfo/Generic/debuginfofinder-inlined-cu.ll [new file with mode: 0644]
test/Transforms/StripSymbols/strip-dead-debug-info.ll