[lld] [ELF] Avoid repeated hash lookups (NFC) (PR #122628)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Sat Jan 11 19:58:41 PST 2025
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/122628
None
>From 276863d5c6d1e4fb2a2b908f4a09ddb71a45df8f Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sat, 11 Jan 2025 19:51:54 -0800
Subject: [PATCH] [ELF] Avoid repeated hash lookups (NFC)
---
lld/ELF/Arch/ARM.cpp | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/lld/ELF/Arch/ARM.cpp b/lld/ELF/Arch/ARM.cpp
index 29a72d35af6669..de6e45c6cc65c6 100644
--- a/lld/ELF/Arch/ARM.cpp
+++ b/lld/ELF/Arch/ARM.cpp
@@ -1320,8 +1320,9 @@ void elf::processArmCmseSymbols(Ctx &ctx) {
MutableArrayRef<Symbol *> syms = file->getMutableSymbols();
for (size_t i = 0, e = syms.size(); i != e; ++i) {
StringRef symName = syms[i]->getName();
- if (ctx.symtab->cmseSymMap.count(symName))
- syms[i] = ctx.symtab->cmseSymMap[symName].acleSeSym;
+ auto it = ctx.symtab->cmseSymMap.find(symName);
+ if (it != ctx.symtab->cmseSymMap.end())
+ syms[i] = it->second.acleSeSym;
}
});
}
@@ -1370,8 +1371,9 @@ void ArmCmseSGSection::addSGVeneer(Symbol *acleSeSym, Symbol *sym) {
// Only secure symbols with values equal to that of it's non-secure
// counterpart needs to be in the .gnu.sgstubs section.
std::unique_ptr<ArmCmseSGVeneer> ss;
- if (ctx.symtab->cmseImportLib.count(sym->getName())) {
- Defined *impSym = ctx.symtab->cmseImportLib[sym->getName()];
+ auto it = ctx.symtab->cmseImportLib.find(sym->getName());
+ if (it != ctx.symtab->cmseImportLib.end()) {
+ Defined *impSym = it->second;
ss = std::make_unique<ArmCmseSGVeneer>(sym, acleSeSym, impSym->value);
} else {
ss = std::make_unique<ArmCmseSGVeneer>(sym, acleSeSym);
More information about the llvm-commits
mailing list