hanchenye-llvm-project/llvm/test
Reid Kleckner e6a81b9bec [pdb] Add -type-stats and sort stats by descending size
Summary:
It prints this on chromium browser_tests.exe.pdb:

  Types
           Total: 5647475 entries ( 371,897,512 bytes,   65.85 avg)
  --------------------------------------------------------------------------
        LF_CLASS:  397894 entries ( 119,537,780 bytes,  300.43 avg)
    LF_STRUCTURE:  236351 entries (  83,208,084 bytes,  352.05 avg)
    LF_FIELDLIST:  291003 entries (  66,087,920 bytes,  227.10 avg)
    LF_MFUNCTION: 1884176 entries (  52,756,928 bytes,   28.00 avg)
      LF_POINTER: 1149030 entries (  13,877,344 bytes,   12.08 avg)
      LF_ARGLIST:  789980 entries (  12,436,752 bytes,   15.74 avg)
   LF_METHODLIST:  361498 entries (   8,351,008 bytes,   23.10 avg)
         LF_ENUM:   16069 entries (   6,108,340 bytes,  380.13 avg)
    LF_PROCEDURE:  269374 entries (   4,309,984 bytes,   16.00 avg)
     LF_MODIFIER:  235602 entries (   2,827,224 bytes,   12.00 avg)
        LF_UNION:    9131 entries (   2,072,168 bytes,  226.94 avg)
      LF_VFTABLE:     323 entries (     207,784 bytes,  643.29 avg)
        LF_ARRAY:    6639 entries (     106,380 bytes,   16.02 avg)
      LF_VTSHAPE:     126 entries (       6,472 bytes,   51.37 avg)
     LF_BITFIELD:     278 entries (       3,336 bytes,   12.00 avg)
        LF_LABEL:       1 entries (           8 bytes,    8.00 avg)

The PDB is overall 1.9GB, so the LF_CLASS and LF_STRUCTURE declarations
account for about 10% of the overall file size. I was surprised to find
that on average LF_FIELDLIST records are short. Maybe this is because
there are many more types with short member lists than there are
instantiations with lots of members, like std::vector.

Reviewers: aganea, zturner

Subscribers: llvm-commits

Tags: #llvm

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

llvm-svn: 356813
2019-03-22 21:22:13 +00:00
..
Analysis IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
Assembler IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
Bindings [Go / ASAN] Disable Go bindings for ASAN tests. 2019-03-08 22:34:33 +00:00
Bitcode [DebugInfoMetadata] Move main subprogram DIFlag into DISPFlags 2019-03-19 13:49:03 +00:00
BugPoint
CodeGen [ARM] Don't form "ands" when it isn't scheduled correctly. 2019-03-22 20:49:15 +00:00
DebugInfo [pdb] Add -type-stats and sort stats by descending size 2019-03-22 21:22:13 +00:00
Demangle
Examples
ExecutionEngine [yaml2obj]Allow explicit symbol indexes in relocations and emit error for bad names 2019-03-12 17:00:25 +00:00
Feature
FileCheck [FileCheck]Remove assertions that prevent matching an empty string at file start before CHECK-NEXT/SAME 2019-03-12 15:37:34 +00:00
Instrumentation IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
Integer
JitListener
LTO [Linker] Fix crash handling appending linkage 2019-03-20 19:20:07 +00:00
Linker
MC [AMDGPU] Implemented dwordx3 variants of buffer/tbuffer load/store intrinsics 2019-03-22 14:58:02 +00:00
MachineVerifier [AMDGPU] Add support for immediate operand for S_ENDPGM 2019-03-12 09:52:58 +00:00
Object [DWARF] Refactor RelocVisitor and fix computation of SHT_RELA-typed relocation entries 2019-03-22 02:43:11 +00:00
ObjectYAML [WebAssembly] Target features section 2019-03-20 20:26:45 +00:00
Other Resubmit r356511 "[TailCallElim] Add tailcall elimination pass to LTO pipelines" 2019-03-20 19:08:18 +00:00
SafepointIRVerifier
SymbolRewriter
TableGen [CodeGen] Defined MVTs v3i32, v3f32, v5i32, v5f32 2019-03-17 22:56:38 +00:00
ThinLTO/X86 [ThinLTO] Restructure AliasSummary to contain ValueInfo of Aliasee 2019-03-15 15:11:38 +00:00
Transforms Fix non-determinism in Reassociate caused by address coincidences 2019-03-22 20:16:35 +00:00
Unit
Verifier Remove immarg from llvm.expect 2019-03-17 23:16:18 +00:00
YAMLParser
tools Revert "[llvm-readobj] Separate `Symbol Version` dumpers into `LLVM style` and `GNU style`" 2019-03-22 21:07:57 +00:00
.clang-format
CMakeLists.txt
TestRunner.sh
lit.cfg.py
lit.site.cfg.py.in