https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/113412
None >From 89c932a72dc2289dd194f7b7950623589948e872 Mon Sep 17 00:00:00 2001 From: Kazu Hirata <k...@google.com> Date: Tue, 22 Oct 2024 08:10:43 -0700 Subject: [PATCH] [lldb] Avoid repeated hash lookups (NFC) --- .../InstEmulation/UnwindAssemblyInstEmulation.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp index 49edd40544e32a..1a680d80a9d3d7 100644 --- a/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp +++ b/lldb/source/Plugins/UnwindAssembly/InstEmulation/UnwindAssemblyInstEmulation.cpp @@ -461,8 +461,7 @@ size_t UnwindAssemblyInstEmulation::WriteMemory( if (reg_num != LLDB_INVALID_REGNUM && generic_regnum != LLDB_REGNUM_GENERIC_SP) { - if (m_pushed_regs.find(reg_num) == m_pushed_regs.end()) { - m_pushed_regs[reg_num] = addr; + if (m_pushed_regs.try_emplace(reg_num, addr).second) { const int32_t offset = addr - m_initial_sp; m_curr_row->SetRegisterLocationToAtCFAPlusOffset(reg_num, offset, /*can_replace=*/true); @@ -608,8 +607,8 @@ bool UnwindAssemblyInstEmulation::WriteRegister( generic_regnum != LLDB_REGNUM_GENERIC_SP) { switch (context.GetInfoType()) { case EmulateInstruction::eInfoTypeAddress: - if (m_pushed_regs.find(reg_num) != m_pushed_regs.end() && - context.info.address == m_pushed_regs[reg_num]) { + if (auto it = m_pushed_regs.find(reg_num); + it != m_pushed_regs.end() && context.info.address == it->second) { m_curr_row->SetRegisterLocationToSame(reg_num, false /*must_replace*/); m_curr_row_modified = true; _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits