[clang] 43c82a8 - [clang-installapi] Avoid repeated hash lookups (NFC) (#126677)

via cfe-commits cfe-commits at lists.llvm.org
Tue Feb 11 09:07:50 PST 2025


Author: Kazu Hirata
Date: 2025-02-11T09:07:46-08:00
New Revision: 43c82a8e07819ad0553ef0dffedff3c8b8cecf5e

URL: https://github.com/llvm/llvm-project/commit/43c82a8e07819ad0553ef0dffedff3c8b8cecf5e
DIFF: https://github.com/llvm/llvm-project/commit/43c82a8e07819ad0553ef0dffedff3c8b8cecf5e.diff

LOG: [clang-installapi] Avoid repeated hash lookups (NFC) (#126677)

Added: 
    

Modified: 
    clang/tools/clang-installapi/Options.cpp

Removed: 
    


################################################################################
diff  --git a/clang/tools/clang-installapi/Options.cpp b/clang/tools/clang-installapi/Options.cpp
index 8a2c3463189fa9..0dddcfce58ca69 100644
--- a/clang/tools/clang-installapi/Options.cpp
+++ b/clang/tools/clang-installapi/Options.cpp
@@ -263,11 +263,12 @@ bool Options::processInstallAPIXOptions(InputArgList &Args) {
     }
     const StringRef ASpelling = NextA->getSpelling();
     const auto &AValues = NextA->getValues();
+    auto &UniqueArgs = FEOpts.UniqueArgs[Label];
     if (AValues.empty())
-      FEOpts.UniqueArgs[Label].emplace_back(ASpelling.str());
+      UniqueArgs.emplace_back(ASpelling.str());
     else
       for (const StringRef Val : AValues)
-        FEOpts.UniqueArgs[Label].emplace_back((ASpelling + Val).str());
+        UniqueArgs.emplace_back((ASpelling + Val).str());
 
     A->claim();
     NextA->claim();
@@ -608,32 +609,37 @@ Options::processAndFilterOutInstallAPIOptions(ArrayRef<const char *> Args) {
       ParsedArgs.hasArg(OPT_not_for_dyld_shared_cache);
 
   for (const Arg *A : ParsedArgs.filtered(OPT_allowable_client)) {
+    auto It = ArgToArchMap.find(A);
     LinkerOpts.AllowableClients[A->getValue()] =
-        ArgToArchMap.count(A) ? ArgToArchMap[A] : ArchitectureSet();
+        It != ArgToArchMap.end() ? It->second : ArchitectureSet();
     A->claim();
   }
 
   for (const Arg *A : ParsedArgs.filtered(OPT_reexport_l)) {
+    auto It = ArgToArchMap.find(A);
     LinkerOpts.ReexportedLibraries[A->getValue()] =
-        ArgToArchMap.count(A) ? ArgToArchMap[A] : ArchitectureSet();
+        It != ArgToArchMap.end() ? It->second : ArchitectureSet();
     A->claim();
   }
 
   for (const Arg *A : ParsedArgs.filtered(OPT_reexport_library)) {
+    auto It = ArgToArchMap.find(A);
     LinkerOpts.ReexportedLibraryPaths[A->getValue()] =
-        ArgToArchMap.count(A) ? ArgToArchMap[A] : ArchitectureSet();
+        It != ArgToArchMap.end() ? It->second : ArchitectureSet();
     A->claim();
   }
 
   for (const Arg *A : ParsedArgs.filtered(OPT_reexport_framework)) {
+    auto It = ArgToArchMap.find(A);
     LinkerOpts.ReexportedFrameworks[A->getValue()] =
-        ArgToArchMap.count(A) ? ArgToArchMap[A] : ArchitectureSet();
+        It != ArgToArchMap.end() ? It->second : ArchitectureSet();
     A->claim();
   }
 
   for (const Arg *A : ParsedArgs.filtered(OPT_rpath)) {
+    auto It = ArgToArchMap.find(A);
     LinkerOpts.RPaths[A->getValue()] =
-        ArgToArchMap.count(A) ? ArgToArchMap[A] : ArchitectureSet();
+        It != ArgToArchMap.end() ? It->second : ArchitectureSet();
     A->claim();
   }
 


        


More information about the cfe-commits mailing list