summaryrefslogtreecommitdiffstats
path: root/llvm/test/DebugInfo/PDB/module-stats.test
diff options
context:
space:
mode:
authorReid Kleckner <rnk@google.com>2019-03-22 21:22:13 +0000
committerReid Kleckner <rnk@google.com>2019-03-22 21:22:13 +0000
commite6a81b9bec04d3f8d459ef9cd0bcc881bde6c20f (patch)
tree92c8c4b7477c02651948a817b0b0dcd348a89e7e /llvm/test/DebugInfo/PDB/module-stats.test
parentd2e0ed7755671039f75f90803793d44e93b3ef56 (diff)
downloadbcm5719-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.test38
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: --------------------------------------------------------------------------
OpenPOWER on IntegriCloud