[clang] [clang-offload-packager] Avoid repeated hash lookups (NFC) (PR #127302)

Kazu Hirata via cfe-commits cfe-commits at lists.llvm.org
Fri Feb 14 21:35:58 PST 2025


https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/127302

None

>From 967667bb296058fedcacca9c40bf5e6113ec5345 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Fri, 14 Feb 2025 02:45:58 -0800
Subject: [PATCH] [clang-offload-packager] Avoid repeated hash lookups (NFC)

---
 .../tools/clang-offload-packager/ClangOffloadPackager.cpp  | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/clang/tools/clang-offload-packager/ClangOffloadPackager.cpp b/clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
index c6d5b31ab512c..49cb0d70f492b 100644
--- a/clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
+++ b/clang/tools/clang-offload-packager/ClangOffloadPackager.cpp
@@ -70,10 +70,9 @@ static DenseMap<StringRef, StringRef> getImageArguments(StringRef Image,
   DenseMap<StringRef, StringRef> Args;
   for (StringRef Arg : llvm::split(Image, ",")) {
     auto [Key, Value] = Arg.split("=");
-    if (Args.count(Key))
-      Args[Key] = Saver.save(Args[Key] + "," + Value);
-    else
-      Args[Key] = Value;
+    auto [It, Inserted] = Args.try_emplace(Key, Value);
+    if (!Inserted)
+      It->second = Saver.save(It->second + "," + Value);
   }
 
   return Args;



More information about the cfe-commits mailing list