llvm-project/llvm/test/DebugInfo
Reid Kleckner 53ce05960e [codeview] Align symbol records to save 441MB during linking clang.pdb
In PDBs, symbol records must be aligned to four bytes. However, in the
object file, symbol records may not be aligned. MSVC does not pad out
symbol records to make sure they are aligned. That means the linker has
to do extra work to insert the padding. Currently, LLD calculates the
required space with alignment, and copies each record one at a time
while padding them out to the correct size. It has a fast path that
avoids this copy when the records are already aligned.

This change fixes a bug in that codepath so that the copy is actually
saved, and tweaks LLVM's symbol record emission to align symbol records.
Here's how things compare when doing a plain clang Release+PDB build:
- objs are 0.65% bigger (negligible)
- link is 3.3% faster (negligible)
- saves allocating 441MB
- new LLD high water mark is ~1.05GB

llvm-svn: 349431
2018-12-18 01:14:05 +00:00
..
AArch64 test/DebugInfo: Convert some tests to MIR 2018-11-02 01:31:52 +00:00
AMDGPU AMDGPU: Fix tests using old number for constant address space 2018-09-10 02:54:25 +00:00
ARM test/DebugInfo: Convert some tests to MIR 2018-11-02 01:31:52 +00:00
COFF [codeview] Align symbol records to save 441MB during linking clang.pdb 2018-12-18 01:14:05 +00:00
Generic [Debuginfo] Prevent CodeGenPrepare from dropping debuginfo references. 2018-12-11 21:13:53 +00:00
Inputs Revert "DebugInfo: Assume an absence of ranges or high_pc on a CU means the CU is empty (devoid of code addresses)" 2018-12-17 14:14:40 +00:00
Lanai
MIR MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
MSP430 MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
Mips [mips][micromips] Fix overlaping FDEs error 2018-10-15 14:39:12 +00:00
NVPTX [DebugInfo] Emit undef DBG_VALUEs when SDNodes are optimised out 2018-12-10 11:20:47 +00:00
PDB Support skewed stream arrays. 2018-12-06 16:55:00 +00:00
PowerPC [DWARF] - Emit the correct value for DW_AT_addr_base. 2018-09-20 09:17:36 +00:00
RISCV [DebugInfo] Generate fixups as emitting DWARF .debug_line. 2018-08-01 02:18:06 +00:00
Sparc [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
SystemZ [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
WebAssembly MachineOperand/MIParser: Do not print debug-use flag, infer it 2018-10-30 23:28:27 +00:00
X86 Recommit r348806: DebugInfo: Use symbol difference for CU length to simplify assembly reading/editing 2018-12-18 01:06:09 +00:00
arm-relocs.test
check-debugify-preserves-analyses.ll [opt] Introduce -strip-named-metadata 2018-06-05 00:56:08 +00:00
cross-cu-scope.ll Specify REQUIRES: default_triple in two debuginfo tests 2018-11-06 00:16:32 +00:00
debugify-bogus-dbg-value.ll [Debugify] Allow unsigned values narrower than their variables 2018-07-06 17:32:40 +00:00
debugify-each.ll [Debugify] Add a quiet mode to suppress warnings 2018-06-06 19:05:41 +00:00
debugify-export.ll [Debugify] Export per-pass debug info loss statistics 2018-07-24 00:41:29 +00:00
debugify-report-missing-locs-only.ll Tighten up a test for -check-debugify, NFC 2018-07-02 17:08:36 +00:00
debugify.ll [DebugInfo] IR/Bitcode changes for DISubprogram flags. 2018-11-28 21:14:32 +00:00
debuglineinfo-macho.test
debuglineinfo-path.ll Specify REQUIRES: default_triple in two debuginfo tests 2018-11-06 00:16:32 +00:00
debuglineinfo.test Revert "DebugInfo: Assume an absence of ranges or high_pc on a CU means the CU is empty (devoid of code addresses)" 2018-12-17 14:14:40 +00:00
debugmacinfo.test
dwarfdump-64-bit-dwarf.test
dwarfdump-accel.test
dwarfdump-debug-frame-simple.test
dwarfdump-decompression-corrupt.test
dwarfdump-decompression-error.test
dwarfdump-dump-flags.test
dwarfdump-dump-gdbindex.test [DWARF] Fix typo, .gnu_index -> .gdb_index 2018-11-02 20:34:40 +00:00
dwarfdump-dwp.test
dwarfdump-implicit-const.test
dwarfdump-invalid-line-table.test
dwarfdump-invalid.test
dwarfdump-macho-relocs.test
dwarfdump-macho-universal.test [dsymutil] Rename llvm-dsymutil -> dsymutil 2018-03-18 11:38:41 +00:00
dwarfdump-objc.test
dwarfdump-pubnames.test
dwarfdump-ranges.test Revert "[DWARF] reposting r342048, which was reverted in r342056 due to buildbot errors. Adjusted 2 test cases for ARM and darwin and fixed a bug with the original change in dsymutil." 2018-09-17 15:40:01 +00:00
dwarfdump-type-units.test
dwarfdump-zlib.test
dwo.ll
invalid-relocations.test
llvm-symbolizer-split-dwarf-empty.test
llvm-symbolizer-split-dwarf-no-skel-address.test Revert "DebugInfo: Assume an absence of ranges or high_pc on a CU means the CU is empty (devoid of code addresses)" 2018-12-17 14:14:40 +00:00
llvm-symbolizer-tu.test llvm-symbolizer: Fix bug related to TUs interfering with symbolizing 2018-09-11 02:04:45 +00:00
llvm-symbolizer-zlib.test
llvm-symbolizer.test Revert "DebugInfo: Assume an absence of ranges or high_pc on a CU means the CU is empty (devoid of code addresses)" 2018-12-17 14:14:40 +00:00
macro_link.ll
member-pointers.o
missing-abstract-variable.o
omit-empty.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
pr34186.ll
pr34672.ll
precomp.test [Debuginfo][COFF] Minimal serialization support for precompiled types records 2018-04-09 20:17:56 +00:00
skeletoncu.ll
strip-DIGlobalVariable.ll
strip-loop-metadata.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00
strip-module-flags.ll [opt] Introduce -strip-named-metadata 2018-06-05 00:56:08 +00:00
typeunit-header.test
unrolled-loop-remainder.ll [DebugInfo] Add DILabel metadata and intrinsic llvm.dbg.label. 2018-05-09 02:40:45 +00:00