https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/115259
Heterogenous lookups allow us to call find with StringRef, avoiding a temporary heap allocation of std::string. >From b2db4f214c295b54ed14c662e27587346a28d210 Mon Sep 17 00:00:00 2001 From: Kazu Hirata <k...@google.com> Date: Wed, 6 Nov 2024 08:55:41 -0800 Subject: [PATCH] [Driver] Use heterogenous lookups with std::set (NFC) Heterogenous lookups allow us to call find with StringRef, avoiding a temporary heap allocation of std::string. --- clang/lib/Driver/ToolChains/HIPUtility.cpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/clang/lib/Driver/ToolChains/HIPUtility.cpp b/clang/lib/Driver/ToolChains/HIPUtility.cpp index c8075cbfe36b35..3f81c3cb0f80e8 100644 --- a/clang/lib/Driver/ToolChains/HIPUtility.cpp +++ b/clang/lib/Driver/ToolChains/HIPUtility.cpp @@ -148,8 +148,8 @@ class HIPUndefinedFatBinSymbols { bool Verbose; std::set<std::string> FatBinSymbols; std::set<std::string> GPUBinHandleSymbols; - std::set<std::string> DefinedFatBinSymbols; - std::set<std::string> DefinedGPUBinHandleSymbols; + std::set<std::string, std::less<>> DefinedFatBinSymbols; + std::set<std::string, std::less<>> DefinedGPUBinHandleSymbols; const std::string FatBinPrefix = "__hip_fatbin"; const std::string GPUBinHandlePrefix = "__hip_gpubin_handle"; @@ -260,11 +260,10 @@ class HIPUndefinedFatBinSymbols { // Add undefined symbols if they are not in the defined sets if (isFatBinSymbol && - DefinedFatBinSymbols.find(Name.str()) == DefinedFatBinSymbols.end()) + DefinedFatBinSymbols.find(Name) == DefinedFatBinSymbols.end()) FatBinSymbols.insert(Name.str()); - else if (isGPUBinHandleSymbol && - DefinedGPUBinHandleSymbols.find(Name.str()) == - DefinedGPUBinHandleSymbols.end()) + else if (isGPUBinHandleSymbol && DefinedGPUBinHandleSymbols.find(Name) == + DefinedGPUBinHandleSymbols.end()) GPUBinHandleSymbols.insert(Name.str()); } } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits