diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp index c5b3537bc57bc..a6accf0318a30 100644 --- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp +++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp @@ -2241,10 +2241,9 @@ class BoUpSLP { HashMap[NumFreeOpsHash.Hash] = std::make_pair(1, Lane); } else if (NumFreeOpsHash.NumOfAPOs == Min && NumFreeOpsHash.NumOpsWithSameOpcodeParent == SameOpNumber) { - auto *It = HashMap.find(NumFreeOpsHash.Hash); - if (It == HashMap.end()) - HashMap[NumFreeOpsHash.Hash] = std::make_pair(1, Lane); - else + auto [It, Inserted] = + HashMap.try_emplace(NumFreeOpsHash.Hash, 1, Lane); + if (!Inserted) ++It->second.first; } }