[llvm] [MCA] Avoid repeated hash lookups (NFC) (PR #109905)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 24 21:26:07 PDT 2024


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

None

>From 5234ef2887dfd7993528499add07fe1a0acb3ffb Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Tue, 24 Sep 2024 17:41:59 -0700
Subject: [PATCH] [MCA] Avoid repeated hash lookups (NFC)

---
 llvm/lib/MCA/HardwareUnits/ResourceManager.cpp | 7 +++----
 1 file changed, 3 insertions(+), 4 deletions(-)

diff --git a/llvm/lib/MCA/HardwareUnits/ResourceManager.cpp b/llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
index 82030207eee616..e45bd00f1a2929 100644
--- a/llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
+++ b/llvm/lib/MCA/HardwareUnits/ResourceManager.cpp
@@ -322,12 +322,11 @@ uint64_t ResourceManager::checkAvailability(const InstrDesc &Desc) const {
 
       uint64_t ResourceMask = llvm::bit_floor(ReadyMask);
 
-      auto it = AvailableUnits.find(ResourceMask);
-      if (it == AvailableUnits.end()) {
+      auto [it, Inserted] = AvailableUnits.try_emplace(ResourceMask);
+      if (Inserted) {
         unsigned Index = getResourceStateIndex(ResourceMask);
         unsigned NumUnits = llvm::popcount(Resources[Index]->getReadyMask());
-        it =
-            AvailableUnits.insert(std::make_pair(ResourceMask, NumUnits)).first;
+        it->second = NumUnits;
       }
 
       if (!it->second) {



More information about the llvm-commits mailing list