[llvm] ec60030 - [DWARFLinker] Avoid repeated hash lookups (NFC) (#109904)

via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 25 01:30:44 PDT 2024


Author: Kazu Hirata
Date: 2024-09-25T01:30:40-07:00
New Revision: ec60030639000daa6d64a92e088d74e65fcfc8a1

URL: https://github.com/llvm/llvm-project/commit/ec60030639000daa6d64a92e088d74e65fcfc8a1
DIFF: https://github.com/llvm/llvm-project/commit/ec60030639000daa6d64a92e088d74e65fcfc8a1.diff

LOG: [DWARFLinker] Avoid repeated hash lookups (NFC) (#109904)

Added: 
    

Modified: 
    llvm/include/llvm/DWARFLinker/IndexedValuesMap.h

Removed: 
    


################################################################################
diff  --git a/llvm/include/llvm/DWARFLinker/IndexedValuesMap.h b/llvm/include/llvm/DWARFLinker/IndexedValuesMap.h
index fadbeb168b5334..5e0779157473e8 100644
--- a/llvm/include/llvm/DWARFLinker/IndexedValuesMap.h
+++ b/llvm/include/llvm/DWARFLinker/IndexedValuesMap.h
@@ -21,11 +21,9 @@ namespace dwarf_linker {
 template <typename T> class IndexedValuesMap {
 public:
   uint64_t getValueIndex(T Value) {
-    typename ValueToIndexMapTy::iterator It = ValueToIndexMap.find(Value);
-    if (It == ValueToIndexMap.end()) {
-      It = ValueToIndexMap.insert(std::make_pair(Value, Values.size())).first;
+    auto [It, Inserted] = ValueToIndexMap.try_emplace(Value, Values.size());
+    if (Inserted)
       Values.push_back(Value);
-    }
     return It->second;
   }
 


        


More information about the llvm-commits mailing list