diff options
author | Reid Kleckner <rnk@google.com> | 2019-03-22 21:22:13 +0000 |
---|---|---|
committer | Reid Kleckner <rnk@google.com> | 2019-03-22 21:22:13 +0000 |
commit | e6a81b9bec04d3f8d459ef9cd0bcc881bde6c20f (patch) | |
tree | 92c8c4b7477c02651948a817b0b0dcd348a89e7e /llvm/test/DebugInfo/PDB/module-stats.test | |
parent | d2e0ed7755671039f75f90803793d44e93b3ef56 (diff) | |
download | bcm5719-llvm-e6a81b9bec04d3f8d459ef9cd0bcc881bde6c20f.tar.gz bcm5719-llvm-e6a81b9bec04d3f8d459ef9cd0bcc881bde6c20f.zip |
[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
Diffstat (limited to 'llvm/test/DebugInfo/PDB/module-stats.test')
-rw-r--r-- | llvm/test/DebugInfo/PDB/module-stats.test | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/llvm/test/DebugInfo/PDB/module-stats.test b/llvm/test/DebugInfo/PDB/module-stats.test index c2c58339ae0..cb0204d6361 100644 --- a/llvm/test/DebugInfo/PDB/module-stats.test +++ b/llvm/test/DebugInfo/PDB/module-stats.test @@ -6,28 +6,28 @@ ALL-NEXT: Stream 12, 308 bytes ALL: Symbols ALL-NEXT: Total: 6 entries ( 204 bytes) ALL-NEXT: -------------------------------------------------------------------------- +ALL-NEXT: S_COMPILE3: 1 entries ( 60 bytes) +ALL-NEXT: S_OBJNAME: 1 entries ( 56 bytes) ALL-NEXT: S_GPROC32: 1 entries ( 44 bytes) ALL-NEXT: S_FRAMEPROC: 1 entries ( 32 bytes) -ALL-NEXT: S_END: 1 entries ( 4 bytes) -ALL-NEXT: S_OBJNAME: 1 entries ( 56 bytes) -ALL-NEXT: S_COMPILE3: 1 entries ( 60 bytes) ALL-NEXT: S_BUILDINFO: 1 entries ( 8 bytes) +ALL-NEXT: S_END: 1 entries ( 4 bytes) ALL: Chunks ALL-NEXT: Total: 2 entries ( 88 bytes) ALL-NEXT: -------------------------------------------------------------------------- -ALL-NEXT: DEBUG_S_FILECHKSMS: 1 entries ( 32 bytes) ALL-NEXT: DEBUG_S_LINES: 1 entries ( 56 bytes) +ALL-NEXT: DEBUG_S_FILECHKSMS: 1 entries ( 32 bytes) ALL-NEXT: Mod 0001 | `* Linker *`: ALL-NEXT: Stream 14, 520 bytes ALL: Symbols ALL-NEXT: Total: 13 entries ( 512 bytes) ALL-NEXT: -------------------------------------------------------------------------- -ALL-NEXT: S_SECTION: 4 entries ( 112 bytes) ALL-NEXT: S_ENVBLOCK: 1 entries ( 172 bytes) +ALL-NEXT: S_COFFGROUP: 5 entries ( 140 bytes) +ALL-NEXT: S_SECTION: 4 entries ( 112 bytes) +ALL-NEXT: S_COMPILE3: 1 entries ( 48 bytes) ALL-NEXT: S_TRAMPOLINE: 1 entries ( 20 bytes) ALL-NEXT: S_OBJNAME: 1 entries ( 20 bytes) -ALL-NEXT: S_COMPILE3: 1 entries ( 48 bytes) -ALL-NEXT: S_COFFGROUP: 5 entries ( 140 bytes) ALL: Chunks ALL-NEXT: Total: 0 entries ( 0 bytes) ALL-NEXT: -------------------------------------------------------------------------- @@ -35,21 +35,21 @@ ALL-NEXT: Summary | ALL: Symbols ALL-NEXT: Total: 19 entries ( 716 bytes) ALL-NEXT: -------------------------------------------------------------------------- +ALL-NEXT: S_ENVBLOCK: 1 entries ( 172 bytes) +ALL-NEXT: S_COFFGROUP: 5 entries ( 140 bytes) ALL-NEXT: S_SECTION: 4 entries ( 112 bytes) +ALL-NEXT: S_COMPILE3: 2 entries ( 108 bytes) +ALL-NEXT: S_OBJNAME: 2 entries ( 76 bytes) ALL-NEXT: S_GPROC32: 1 entries ( 44 bytes) -ALL-NEXT: S_ENVBLOCK: 1 entries ( 172 bytes) ALL-NEXT: S_FRAMEPROC: 1 entries ( 32 bytes) ALL-NEXT: S_TRAMPOLINE: 1 entries ( 20 bytes) -ALL-NEXT: S_END: 1 entries ( 4 bytes) -ALL-NEXT: S_OBJNAME: 2 entries ( 76 bytes) -ALL-NEXT: S_COMPILE3: 2 entries ( 108 bytes) -ALL-NEXT: S_COFFGROUP: 5 entries ( 140 bytes) ALL-NEXT: S_BUILDINFO: 1 entries ( 8 bytes) +ALL-NEXT: S_END: 1 entries ( 4 bytes) ALL: Chunks ALL-NEXT: Total: 2 entries ( 88 bytes) ALL-NEXT: -------------------------------------------------------------------------- -ALL-NEXT: DEBUG_S_FILECHKSMS: 1 entries ( 32 bytes) ALL-NEXT: DEBUG_S_LINES: 1 entries ( 56 bytes) +ALL-NEXT: DEBUG_S_FILECHKSMS: 1 entries ( 32 bytes) ONE-NOT: Mod 0000 ONE: Mod 0001 | `* Linker *`: @@ -57,12 +57,12 @@ ONE-NEXT: Stream 14, 520 bytes ONE: Symbols ONE-NEXT: Total: 13 entries ( 512 bytes) ONE-NEXT: -------------------------------------------------------------------------- -ONE-NEXT: S_SECTION: 4 entries ( 112 bytes) ONE-NEXT: S_ENVBLOCK: 1 entries ( 172 bytes) +ONE-NEXT: S_COFFGROUP: 5 entries ( 140 bytes) +ONE-NEXT: S_SECTION: 4 entries ( 112 bytes) +ONE-NEXT: S_COMPILE3: 1 entries ( 48 bytes) ONE-NEXT: S_TRAMPOLINE: 1 entries ( 20 bytes) ONE-NEXT: S_OBJNAME: 1 entries ( 20 bytes) -ONE-NEXT: S_COMPILE3: 1 entries ( 48 bytes) -ONE-NEXT: S_COFFGROUP: 5 entries ( 140 bytes) ONE: Chunks ONE-NEXT: Total: 0 entries ( 0 bytes) ONE-NEXT: -------------------------------------------------------------------------- @@ -70,12 +70,12 @@ ONE-NEXT: Summary | ONE: Symbols ONE-NEXT: Total: 13 entries ( 512 bytes) ONE-NEXT: -------------------------------------------------------------------------- -ONE-NEXT: S_SECTION: 4 entries ( 112 bytes) ONE-NEXT: S_ENVBLOCK: 1 entries ( 172 bytes) +ONE-NEXT: S_COFFGROUP: 5 entries ( 140 bytes) +ONE-NEXT: S_SECTION: 4 entries ( 112 bytes) +ONE-NEXT: S_COMPILE3: 1 entries ( 48 bytes) ONE-NEXT: S_TRAMPOLINE: 1 entries ( 20 bytes) ONE-NEXT: S_OBJNAME: 1 entries ( 20 bytes) -ONE-NEXT: S_COMPILE3: 1 entries ( 48 bytes) -ONE-NEXT: S_COFFGROUP: 5 entries ( 140 bytes) ONE: Chunks ONE-NEXT: Total: 0 entries ( 0 bytes) ONE-NEXT: -------------------------------------------------------------------------- |