From 683dae3649a7a395f776b4f9fcb6a5eb3e067224 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Sun, 9 Mar 2025 00:53:34 -0800 Subject: [PATCH] [ExecutionEngine] Avoid repeated hash lookups (NFC) --- llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp b/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp index 1b649227b38a0..3e359f82eeb56 100644 --- a/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp +++ b/llvm/lib/ExecutionEngine/Orc/ExecutionUtils.cpp @@ -506,10 +506,9 @@ Error DLLImportDefinitionGenerator::tryToGenerate( if (Deinterned.starts_with(getImpPrefix())) Deinterned = Deinterned.drop_front(StringRef(getImpPrefix()).size()); // Don't degrade the required state - if (ToLookUpSymbols.count(Deinterned) && - ToLookUpSymbols[Deinterned] == SymbolLookupFlags::RequiredSymbol) - continue; - ToLookUpSymbols[Deinterned] = KV.second; + auto [It, Inserted] = ToLookUpSymbols.try_emplace(Deinterned); + if (Inserted || It->second != SymbolLookupFlags::RequiredSymbol) + It->second = KV.second; } for (auto &KV : ToLookUpSymbols)