https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/111225
None >From bd591d56e72a252b5dfa2304c8b719c60cfb1808 Mon Sep 17 00:00:00 2001 From: Kazu Hirata <k...@google.com> Date: Fri, 4 Oct 2024 08:00:49 -0700 Subject: [PATCH] [Driver] Avoid repeated hash lookups (NFC) --- clang/lib/Driver/Driver.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/clang/lib/Driver/Driver.cpp b/clang/lib/Driver/Driver.cpp index e9bf60d5e2ee46..2aaa52072b03d2 100644 --- a/clang/lib/Driver/Driver.cpp +++ b/clang/lib/Driver/Driver.cpp @@ -984,8 +984,9 @@ void Driver::CreateOffloadingDeviceToolChains(Compilation &C, } else TC = &getToolChain(C.getInputArgs(), TT); C.addOffloadDeviceToolChain(TC, Action::OFK_OpenMP); - if (DerivedArchs.contains(TT.getTriple())) - KnownArchs[TC] = DerivedArchs[TT.getTriple()]; + auto It = DerivedArchs.find(TT.getTriple()); + if (It != DerivedArchs.end()) + KnownArchs[TC] = It->second; } } } else if (C.getInputArgs().hasArg(options::OPT_fopenmp_targets_EQ)) { @@ -3749,11 +3750,10 @@ class OffloadingActionBuilder final { void recordHostAction(Action *HostAction, const Arg *InputArg) { assert(HostAction && "Invalid host action"); assert(InputArg && "Invalid input argument"); - auto Loc = HostActionToInputArgMap.find(HostAction); - if (Loc == HostActionToInputArgMap.end()) - HostActionToInputArgMap[HostAction] = InputArg; - assert(HostActionToInputArgMap[HostAction] == InputArg && + auto Loc = HostActionToInputArgMap.try_emplace(HostAction, InputArg).first; + assert(Loc->second == InputArg && "host action mapped to multiple input arguments"); + (void)Loc; } /// Generate an action that adds device dependences (if any) to a host action. @@ -5581,8 +5581,9 @@ InputInfoList Driver::BuildJobsForActionNoCache( std::pair<const Action *, std::string> ActionTC = { OA->getHostDependence(), GetTriplePlusArchString(TC, BoundArch, TargetDeviceOffloadKind)}; - if (CachedResults.find(ActionTC) != CachedResults.end()) { - InputInfoList Inputs = CachedResults[ActionTC]; + auto It = CachedResults.find(ActionTC); + if (It != CachedResults.end()) { + InputInfoList Inputs = It->second; Inputs.append(OffloadDependencesInputInfo); return Inputs; } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits