diff --git a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp index 1b93e3d5e3b70..a14cc3d6b844c 100644 --- a/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp +++ b/llvm/utils/TableGen/DAGISelMatcherEmitter.cpp @@ -71,9 +71,9 @@ class MatcherTableEmitter { MapVector> VecPatterns; unsigned getPatternIdxFromTable(std::string &&P, std::string &&include_loc) { - const auto It = VecPatterns.find(P); - if (It == VecPatterns.end()) { - VecPatterns.insert(std::pair(std::move(P), VecPatterns.size())); + const auto [It, Inserted] = + VecPatterns.try_emplace(std::move(P), VecPatterns.size()); + if (Inserted) { VecIncludeStrings.push_back(std::move(include_loc)); return VecIncludeStrings.size() - 1; }