[llvm] IRSymtab: Use StringSet instead of DenseMap for preserved symbols (PR #149836)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 22 03:15:41 PDT 2025


https://github.com/nikic approved this pull request.

Not seeing a difference on llvm-compile-time-tracker: https://llvm-compile-time-tracker.com/compare.php?from=c9fe19a99bf41c165524dcb3e9ff939527b5178b&to=ffc6ababf334db5126144f263e3b0cada44ed751&stat=instructions:u

I'm somewhat surprised that StringSet is faster than `DenseSet<StringRef>`, as the former will copy all the strings. I wonder whether this comes down to having a cached hash, in which case `DenseSet<CachedHashStringRef>` may be best.

Anyway, no objections if you have data that this is indeed better.

https://github.com/llvm/llvm-project/pull/149836


More information about the llvm-commits mailing list