From c235c71c021a24212b58700f553be582abb2e5c5 Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Wed, 19 Feb 2025 08:27:58 -0800 Subject: [PATCH] [Coroutines] Avoid repeated hash lookups (NFC) --- llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp b/llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp index 5021425152f6c..6aaabca95c4c3 100644 --- a/llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp +++ b/llvm/lib/Transforms/Coroutines/MaterializationUtils.cpp @@ -293,7 +293,8 @@ void coro::doRematerializations( for (Instruction *U : E.second) { // Don't process a user twice (this can happen if the instruction uses // more than one rematerializable def) - if (AllRemats.count(U)) + auto [It, Inserted] = AllRemats.try_emplace(U); + if (!Inserted) continue; // Constructor creates the whole RematGraph for the given Use @@ -306,7 +307,7 @@ void coro::doRematerializations( ++I) { (*I)->Node->dump(); } dbgs() << "\n";); - AllRemats[U] = std::move(RematUPtr); + It->second = std::move(RematUPtr); } }