diff --git a/llvm/lib/TargetParser/RISCVISAInfo.cpp b/llvm/lib/TargetParser/RISCVISAInfo.cpp index ecd397f451c79..f7b487688d352 100644 --- a/llvm/lib/TargetParser/RISCVISAInfo.cpp +++ b/llvm/lib/TargetParser/RISCVISAInfo.cpp @@ -839,10 +839,11 @@ void RISCVISAInfo::updateImplication() { std::for_each(Range.first, Range.second, [&](const ImpliedExtsEntry &Implied) { const char *ImpliedExt = Implied.ImpliedExt; - if (Exts.count(ImpliedExt)) + auto [It, Inserted] = Exts.try_emplace(ImpliedExt); + if (!Inserted) return; auto Version = findDefaultVersion(ImpliedExt); - Exts[ImpliedExt] = *Version; + It->second = *Version; WorkList.push_back(ImpliedExt); }); }