Author: Kazu Hirata Date: 2025-02-09T13:33:46-08:00 New Revision: b48b422c08e85e6afd39aea7341fdf08d07d3e08
URL: https://github.com/llvm/llvm-project/commit/b48b422c08e85e6afd39aea7341fdf08d07d3e08 DIFF: https://github.com/llvm/llvm-project/commit/b48b422c08e85e6afd39aea7341fdf08d07d3e08.diff LOG: [Serialization] Avoid repeated hash lookups (NFC) (#126429) Added: Modified: clang/lib/Serialization/ASTReader.cpp Removed: ################################################################################ diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index b74bd586e74d7a9..3c64b67503195c3 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -645,10 +645,11 @@ collectMacroDefinitions(const PreprocessorOptions &PPOpts, // For an #undef'd macro, we only care about the name. if (IsUndef) { - if (MacroNames && !Macros.count(MacroName)) + auto [It, Inserted] = Macros.try_emplace(MacroName); + if (MacroNames && Inserted) MacroNames->push_back(MacroName); - Macros[MacroName] = std::make_pair("", true); + It->second = std::make_pair("", true); continue; } @@ -661,9 +662,10 @@ collectMacroDefinitions(const PreprocessorOptions &PPOpts, MacroBody = MacroBody.substr(0, End); } - if (MacroNames && !Macros.count(MacroName)) + auto [It, Inserted] = Macros.try_emplace(MacroName); + if (MacroNames && Inserted) MacroNames->push_back(MacroName); - Macros[MacroName] = std::make_pair(MacroBody, false); + It->second = std::make_pair(MacroBody, false); } } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits