[llvm] [DebugInfo] Avoid repeated hash lookups (NFC) (PR #128459)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Sun Feb 23 21:18:58 PST 2025


https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/128459

None

>From 0c2899da3e4719b3184a6983d4c15dbed842b0ca Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sun, 23 Feb 2025 09:06:08 -0800
Subject: [PATCH] [DebugInfo] Avoid repeated hash lookups (NFC)

---
 llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp | 8 ++------
 1 file changed, 2 insertions(+), 6 deletions(-)

diff --git a/llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp b/llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
index 092495e87443c..42da957233667 100644
--- a/llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
+++ b/llvm/lib/DebugInfo/LogicalView/Readers/LVDWARFReader.cpp
@@ -565,12 +565,8 @@ LVScope *LVDWARFReader::processOneDie(const DWARFDie &InputDIE, LVScope *Parent,
     // Insert the newly created element into the element symbol table. If the
     // element is in the list, it means there are previously created elements
     // referencing this element.
-    if (ElementTable.find(Offset) == ElementTable.end()) {
-      // No previous references to this offset.
-      ElementTable.emplace(std::piecewise_construct,
-                           std::forward_as_tuple(Offset),
-                           std::forward_as_tuple(CurrentElement));
-    } else {
+    auto [It, Inserted] = ElementTable.try_emplace(Offset, CurrentElement);
+    if (!Inserted) {
       // There are previous references to this element. We need to update the
       // element and all the references pointing to this element.
       LVElementEntry &Reference = ElementTable[Offset];



More information about the llvm-commits mailing list