[lld] 8d61f82 - [lld][RISCV] Avoid second map lookup in mergeArch. NFC (#84687)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 11 17:31:43 PDT 2024
Author: Craig Topper
Date: 2024-03-11T17:31:38-07:00
New Revision: 8d61f82bd3676bc541edfad1014e3ed599cc1390
URL: https://github.com/llvm/llvm-project/commit/8d61f82bd3676bc541edfad1014e3ed599cc1390
DIFF: https://github.com/llvm/llvm-project/commit/8d61f82bd3676bc541edfad1014e3ed599cc1390.diff
LOG: [lld][RISCV] Avoid second map lookup in mergeArch. NFC (#84687)
Instead of using find and then inserting into the map, we can use
insert and fix up the version using the iterator if the insert fails.
Added:
Modified:
lld/ELF/Arch/RISCV.cpp
Removed:
################################################################################
diff --git a/lld/ELF/Arch/RISCV.cpp b/lld/ELF/Arch/RISCV.cpp
index 4798c86f7d1b61..20de1b9b7bde96 100644
--- a/lld/ELF/Arch/RISCV.cpp
+++ b/lld/ELF/Arch/RISCV.cpp
@@ -1074,12 +1074,12 @@ static void mergeArch(RISCVISAInfo::OrderedExtensionMap &mergedExts,
mergedXlen = info.getXLen();
} else {
for (const auto &ext : info.getExtensions()) {
- if (auto it = mergedExts.find(ext.first); it != mergedExts.end()) {
- if (std::tie(it->second.Major, it->second.Minor) >=
+ auto p = mergedExts.insert(ext);
+ if (!p.second) {
+ if (std::tie(p.first->second.Major, p.first->second.Minor) <
std::tie(ext.second.Major, ext.second.Minor))
- continue;
+ p.first->second = ext.second;
}
- mergedExts[ext.first] = ext.second;
}
}
}
More information about the llvm-commits
mailing list