1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-22 12:33:33 +02:00
llvm-mirror/lib/CodeGen/AsmPrinter
Peter Collingbourne 909a12080b DwarfDebug: emit type units immediately.
Rather than storing type units in a vector and emitting them at the end
of code generation, emit them immediately and destroy them, reclaiming the
memory we were using for their DIEs.

In one benchmark carried out against Chromium's 50 largest (by bitcode
file size) translation units, total peak memory consumption with type units
decreased by median 17%, or by 7% when compared against disabling type units.

Tested using check-{llvm,clang}, the GDB 7.5 test suite (with
'-fdebug-types-section') and by eyeballing llvm-dwarfdump output on those
Chromium translation units with split DWARF both disabled and enabled, and
verifying that the only changes were to addresses and abbreviation ordering.

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

llvm-svn: 260578
2016-02-11 19:57:46 +00:00
..
AddressPool.cpp
AddressPool.h One more batch of self-containing headers. 2016-01-27 19:29:56 +00:00
ARMException.cpp [EH] Handle non-Function personalities like unknown personalities 2015-08-31 20:02:16 +00:00
AsmPrinter.cpp Rename WinCodeViewLineTables to CodeViewDebug, similar to DwarfDebug 2016-01-14 19:25:04 +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 [WinEH] Teach AsmPrinter about funclets 2015-09-29 20:12:33 +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 [codeview] Fix bug around multi-level wrapper inlining 2016-02-11 19:41:47 +00:00
CodeViewDebug.h [codeview] Describe int local variables using .cv_def_range 2016-02-10 20:55:49 +00:00
DbgValueHistoryCalculator.cpp
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 Drop the hidden visibility from DebugHandlerBase for now. 2016-02-11 15:41:56 +00:00
DebugLocEntry.h [DwarfDebug] Move MergeValues to .cpp, NFC 2016-01-16 01:11:33 +00:00
DebugLocStream.cpp
DebugLocStream.h
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
DwarfAccelTable.cpp Fix some Clang-tidy modernize warnings, other minor fixes. 2015-11-04 22:32:32 +00:00
DwarfAccelTable.h
DwarfCFIException.cpp [EH] Handle non-Function personalities like unknown personalities 2015-08-31 20:02:16 +00:00
DwarfCompileUnit.cpp DwarfDebug: emit type units immediately. 2016-02-11 19:57:46 +00:00
DwarfCompileUnit.h DwarfDebug: emit type units immediately. 2016-02-11 19:57:46 +00:00
DwarfDebug.cpp DwarfDebug: emit type units immediately. 2016-02-11 19:57:46 +00:00
DwarfDebug.h DwarfDebug: emit type units immediately. 2016-02-11 19:57:46 +00:00
DwarfException.h
DwarfExpression.cpp Fix debug info with SafeStack. 2015-09-30 19:55:43 +00:00
DwarfExpression.h
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
DwarfStringPool.h
DwarfUnit.cpp DwarfDebug: emit type units immediately. 2016-02-11 19:57:46 +00:00
DwarfUnit.h DwarfDebug: emit type units immediately. 2016-02-11 19:57:46 +00:00
EHStreamer.cpp Use make_range(rbegin(), rend()) to allow foreach loops. NFC. 2015-07-24 21:13:43 +00:00
EHStreamer.h [WinEH] Emit __C_specific_handler tables for the new IR 2015-10-01 21:38:24 +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] Update CoreCLR EH state numbering 2016-01-04 16:16:01 +00:00
WinException.h [WinEH] Move WinEHFuncInfo from MachineModuleInfo to MachineFunction 2015-11-17 21:10:25 +00:00