Skip to content

Commit 19b25a4

Browse files
[dsymutil] Avoid repeated hash lookups (NFC) (#131268)
1 parent 1b42be6 commit 19b25a4

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

llvm/tools/dsymutil/BinaryHolder.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -242,19 +242,19 @@ BinaryHolder::getObjectEntry(StringRef Filename, TimestampTy Timestamp) {
242242
StringRef ArchiveFilename = getArchiveAndObjectName(Filename).first;
243243
std::lock_guard<std::mutex> Lock(ArchiveCacheMutex);
244244
ArchiveRefCounter[ArchiveFilename]++;
245-
if (ArchiveCache.count(ArchiveFilename)) {
246-
return ArchiveCache[ArchiveFilename]->getObjectEntry(Filename, Timestamp,
247-
Opts);
245+
if (auto It = ArchiveCache.find(ArchiveFilename);
246+
It != ArchiveCache.end()) {
247+
return It->second->getObjectEntry(Filename, Timestamp, Opts);
248248
} else {
249249
auto AE = std::make_unique<ArchiveEntry>();
250250
auto Err = AE->load(VFS, Filename, Timestamp, Opts);
251251
if (Err) {
252252
// Don't return the error here: maybe the file wasn't an archive.
253253
llvm::consumeError(std::move(Err));
254254
} else {
255-
ArchiveCache[ArchiveFilename] = std::move(AE);
256-
return ArchiveCache[ArchiveFilename]->getObjectEntry(Filename,
257-
Timestamp, Opts);
255+
auto &Cache = ArchiveCache[ArchiveFilename];
256+
Cache = std::move(AE);
257+
return Cache->getObjectEntry(Filename, Timestamp, Opts);
258258
}
259259
}
260260
}

0 commit comments

Comments
 (0)