llvm-project/llvm/lib/CodeGen/AsmPrinter
Adrian Prantl 3891e9e859 Drop debug info for DISubprograms that are not referenced by anything
This patch drops the debug info for all DISubprograms that are
(a) not attached to an llvm::Function and
(b) not indirectly reachable via inline scopes from any surviving Function and
(c) not reachable from a type (i.e.: member functions).

Background: I'm currently working on a patch to reverse the pointers
between DICompileUnit and DISubprogram (for more info check Duncan's RFC
on lazy-loading of debug info metadata
http://lists.llvm.org/pipermail/llvm-dev/2016-March/097419.html).
The idea is to remove the list of subprograms from DICompileUnit and
instead point to the owning compile unit from each DISubprogram.
After doing this all DISubprograms fulfilling the above criteria will be
implicitly dropped unless we go through an extra effort to preserve them.

http://reviews.llvm.org/D18477
<rdar://problem/25256815>

llvm-svn: 265876
2016-04-09 18:10:22 +00:00
..
ARMException.cpp [EH] Handle non-Function personalities like unknown personalities 2015-08-31 20:02:16 +00:00
AddressPool.cpp MC: Clean up MCExpr naming. NFC. 2015-05-30 01:25:56 +00:00
AddressPool.h One more batch of self-containing headers. 2016-01-27 19:29:56 +00:00
AsmPrinter.cpp [GCC] Attribute ifunc support in llvm 2016-04-07 12:32:19 +00:00
AsmPrinterDwarf.cpp Generalize ownership/passing semantics to allow dsymutil to own abbreviations via unique_ptr 2015-11-18 00:34:10 +00:00
AsmPrinterHandler.h Extract the method to begin and end a fragment in AsmPrinterHandler in their own method. NFC 2016-02-26 20:30:37 +00:00
AsmPrinterInlineAsm.cpp Enable the %s modifier in inline asm template string 2016-02-04 16:18:08 +00:00
ByteStreamer.h -Wdeprecated-clean: Fix cases of violating the rule of 5 in ways that are deprecated in C++11 2015-08-03 20:12:58 +00:00
CMakeLists.txt [codeview] Describe int local variables using .cv_def_range 2016-02-10 20:55:49 +00:00
CodeViewDebug.cpp Suppress a -Wunused-variable warning in release builds. 2016-03-20 01:17:54 +00:00
CodeViewDebug.h [codeview] Only emit function ids for inlined functions 2016-03-18 18:54:32 +00:00
DIE.cpp DwarfDebug: emit type units immediately. 2016-02-11 19:57:46 +00:00
DIEHash.cpp DwarfDebug: emit type units immediately. 2016-02-11 19:57:46 +00:00
DIEHash.h [AsmPrinter] Prune dead code. NFC. 2015-10-15 17:16:32 +00:00
DbgValueHistoryCalculator.cpp Consider regmasks when computing register-based DBG_VALUE live ranges 2016-03-25 17:54:46 +00:00
DbgValueHistoryCalculator.h One more batch of self-containing headers. 2016-01-27 19:29:56 +00:00
DebugHandlerBase.cpp [codeview] Describe int local variables using .cv_def_range 2016-02-10 20:55:49 +00:00
DebugHandlerBase.h Make header self-contained. NFC. 2016-02-18 18:02:48 +00:00
DebugLocEntry.h Make headers self-contained again. 2016-03-04 10:49:30 +00:00
DebugLocStream.cpp AsmPrinter: Don't emit empty .debug_loc entries 2015-06-21 16:54:56 +00:00
DebugLocStream.h AsmPrinter: Don't emit empty .debug_loc entries 2015-06-21 16:54:56 +00:00
DwarfAccelTable.cpp Fix some Clang-tidy modernize warnings, other minor fixes. 2015-11-04 22:32:32 +00:00
DwarfAccelTable.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DwarfCFIException.cpp Fix warning in DwarfCFIException. NFC 2016-02-26 20:49:07 +00:00
DwarfCompileUnit.cpp Drop debug info for DISubprograms that are not referenced by anything 2016-04-09 18:10:22 +00:00
DwarfCompileUnit.h Drop debug info for DISubprograms that are not referenced by anything 2016-04-09 18:10:22 +00:00
DwarfDebug.cpp Drop debug info for DISubprograms that are not referenced by anything 2016-04-09 18:10:22 +00:00
DwarfDebug.h Drop debug info for DISubprograms that are not referenced by anything 2016-04-09 18:10:22 +00:00
DwarfException.h Extract the method to begin and end a fragment in AsmPrinterHandler in their own method. NFC 2016-02-26 20:30:37 +00:00
DwarfExpression.cpp DwarfDebug: Support floating point constants in location lists. 2016-04-08 00:38:37 +00:00
DwarfExpression.h DwarfDebug: Support floating point constants in location lists. 2016-04-08 00:38:37 +00:00
DwarfFile.cpp DwarfDebug: emit type units immediately. 2016-02-11 19:57:46 +00:00
DwarfFile.h DwarfDebug: emit type units immediately. 2016-02-11 19:57:46 +00:00
DwarfStringPool.cpp AsmPrinter: Avoid creating symbols in DwarfStringPool 2015-05-24 16:58:59 +00:00
DwarfStringPool.h Revert r240137 (Fixed/added namespace ending comments using clang-tidy. NFC) 2015-06-23 09:49:53 +00:00
DwarfUnit.cpp Revert "Recommitted r263424 "Supporting all entities declared in lexical scope in LLVM debug info." After fixing PR26942 (the fix is included in this commit)." 2016-03-24 20:38:49 +00:00
DwarfUnit.h Revert "Recommitted r263424 "Supporting all entities declared in lexical scope in LLVM debug info." After fixing PR26942 (the fix is included in this commit)." 2016-03-24 20:38:49 +00:00
EHStreamer.cpp Use make_range(rbegin(), rend()) to allow foreach loops. NFC. 2015-07-24 21:13:43 +00:00
EHStreamer.h Extract the method to begin and end a fragment in AsmPrinterHandler in their own method. NFC 2016-02-26 20:30:37 +00:00
ErlangGCPrinter.cpp Move most user of TargetMachine::getDataLayout to the Module one 2015-07-16 06:11:10 +00:00
LLVMBuild.txt Reland "[CodeView] Use assembler directives for line tables" 2016-01-29 00:49:42 +00:00
OcamlGCPrinter.cpp Move most user of TargetMachine::getDataLayout to the Module one 2015-07-16 06:11:10 +00:00
WinException.cpp [WinEH] Allocate the registration node before the catch objects 2016-03-01 04:30:16 +00:00
WinException.h [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction 2015-11-17 21:10:25 +00:00