diff --git a/llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp b/llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp index 7f0a45941cf9b..9ac8c5ef66de6 100644 --- a/llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp +++ b/llvm/lib/ExecutionEngine/Orc/ELFNixPlatform.cpp @@ -469,11 +469,12 @@ void ELFNixPlatform::pushInitializersLoop( Worklist.pop_back(); // If we've already visited this JITDylib on this iteration then continue. - if (JDDepMap.count(DepJD)) + auto [It, Inserted] = JDDepMap.try_emplace(DepJD); + if (!Inserted) continue; // Add dep info. - auto &DM = JDDepMap[DepJD]; + auto &DM = It->second; DepJD->withLinkOrderDo([&](const JITDylibSearchOrder &O) { for (auto &KV : O) { if (KV.first == DepJD)