[PATCH] D59620: [llvm-pdbutil] Add -type-ref-stats to help find unused type info

Alexandre Ganea via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 21 11:55:07 PDT 2019


aganea added a comment.

I ran `llvmpdbutil dump -type-ref-stats` for one of our game projects:

| Build type                                      | PDB size | Type records referenced      | Type bytes referenced            | Potential savings (bytes) |
| ----------------------------------------------- | -------- | ---------------------------- | -------------------------------- | ------------------------- |
| game, Static, Production, Win64, Gameplay Debug | 2 GB     | 5,914,383 / 7,050,382 83.89% | 377,342,432 / 536,798,320 70.30% | ~159 MB                   |
| game, Static, Production, Win64, Release        | 1.9 GB   | 5,888,309 / 7,025,672 83.81% | 376,582,688 / 535,410,704 70.34% | ~159 MB                   |
|                                                 |          |                              |                                  |                           |
| game DLL A, Production, Win64, Debug            | 972 MB   | 3,046,539 / 3,493,601 87.20% | 187,676,328 / 287,416,200 65.30% | ~100 MB                   |
| game DLL A, Production, Win64, Gameplay Debug   | 953 MB   | 3,041,243 / 3,481,091 87.36% | 187,480,768 / 286,838,516 65.36% | ~99 MB                    |
| game DLL A, Production, Win64, Release          | 928 MB   | 3,031,469 / 3,468,271 87.41% | 187,134,900 / 286,046,296 65.42% | ~99 MB                    |
|                                                 |          |                              |                                  |                           |
| game DLL B, Production, Win64, Debug            | 928 MB   | 2,877,786 / 3,478,483 82.73% | 187,420,152 / 253,259,260 74.00% | ~66 MB                    |
| game DLL B, Production, Win64, Gameplay Debug   | 842 MB   | 2,859,184 / 3,406,422 83.94% | 186,752,780 / 246,835,552 75.66% | ~60 MB                    |
|                                                 |          |                              |                                  |                           |
| game DLL C, Production, Win64, Release          | 246 MB   | 1,052,608 / 1,207,096 87.20% | 75,336,256 / 95,823,496 78.62%   | ~20 MB                    |
|                                                 |          |                              |                                  |                           |
| game DLL D, Production, Win64, Release          | 75 MB    | 406,147 / 524,558 77.43%     | 26,030,952 / 34,267,400 75.96%   | ~8 MB                     |
|                                                 |          |                              |                                  |                           |
| game, Engine, Win64, Release                    | 1.5 GB   | 4,715,892 / 5,718,803 82.46% | 309,142,248 / 407,502,104 75.86% | ~98 MB                    |
| game, Engine, Win64, Profile                    | 1.2 GB   | 4,244,060 / 5,177,703 81.97% | 275,567,308 / 367,489,660 74.99% | ~92 MB                    |
| game, Engine, Win64, Retail                     | 981 MB   | 3,936,867 / 4,848,175 81.20% | 257,537,964 / 347,997,212 74.01% | ~90 MB                    |
|

The savings seem quite interesting if we had this in LLD or as a post-processing step as Zachary suggested.


Repository:
  rL LLVM

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D59620/new/

https://reviews.llvm.org/D59620





More information about the llvm-commits mailing list