[PATCH] D79467: [PDB] Optimize public symbol processing

Reid Kleckner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri May 8 15:03:54 PDT 2020


rnk added a comment.

Right, I remember actually reviewing D59226 <https://reviews.llvm.org/D59226>, and then thinking that it had landed. I will look into rebasing it, thanks for the reminder.

@akhuang, I was thinking of the TpiSource class in that patch when I was saying that there should be an easy way to merge in types from dependent DLLs.

Speaking of which, @aganea, since you are using clang to compile now, you should try adding `-Xclang -debug-info-kind=constructor` if you haven't already. It greatly reduces the amount of duplicate type info that clang emits.

Regarding the lock free hash table, I guess it's the only solution in the long run. I think there is still low hanging fruit before we get there. For me, the bottleneck is no longer type merging, it's symbol merging, which can be trivially parallelized. So, if we do things like:

- sequentially for all obj, run mergeDebugT
- parallel for all obj, merge .debug$S using type index maps


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D79467





More information about the llvm-commits mailing list