[lld] Replace SmallSet with SmallPtrSet (NFC) (#154263)
This patch replaces SmallSet<T *, N> with SmallPtrSet<T *, N>. Note that SmallSet.h "redirects" SmallSet to SmallPtrSet for pointer element types: template <typename PointeeType, unsigned N> class SmallSet<PointeeType*, N> : public SmallPtrSet<PointeeType*, N> {}; We only have 30 instances that rely on this "redirection". Since the redirection doesn't improve readability, this patch replaces SmallSet with SmallPtrSet for pointer element types. I'm planning to remove the redirection eventually.
This commit is contained in:
parent
d82617d2e8
commit
4831d92005
@ -273,12 +273,12 @@ template <class ELFT> static bool isReadOnly(SharedSymbol &ss) {
|
||||
// them are copied by a copy relocation, all of them need to be copied.
|
||||
// Otherwise, they would refer to different places at runtime.
|
||||
template <class ELFT>
|
||||
static SmallSet<SharedSymbol *, 4> getSymbolsAt(Ctx &ctx, SharedSymbol &ss) {
|
||||
static SmallPtrSet<SharedSymbol *, 4> getSymbolsAt(Ctx &ctx, SharedSymbol &ss) {
|
||||
using Elf_Sym = typename ELFT::Sym;
|
||||
|
||||
const auto &file = cast<SharedFile>(*ss.file);
|
||||
|
||||
SmallSet<SharedSymbol *, 4> ret;
|
||||
SmallPtrSet<SharedSymbol *, 4> ret;
|
||||
for (const Elf_Sym &s : file.template getGlobalELFSyms<ELFT>()) {
|
||||
if (s.st_shndx == SHN_UNDEF || s.st_shndx == SHN_ABS ||
|
||||
s.getType() == STT_TLS || s.st_value != ss.value)
|
||||
|
Loading…
x
Reference in New Issue
Block a user