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

via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 25 01:31:37 PDT 2024


Author: Kazu Hirata
Date: 2024-09-25T01:31:33-07:00
New Revision: c3fc763dc165df36e655bf687b96688c2e7184ec

URL: https://github.com/llvm/llvm-project/commit/c3fc763dc165df36e655bf687b96688c2e7184ec
DIFF: https://github.com/llvm/llvm-project/commit/c3fc763dc165df36e655bf687b96688c2e7184ec.diff

LOG: [MCA] Avoid repeated hash lookups (NFC) (#109905)

Added: 
    

Modified: 
    llvm/lib/MCA/HardwareUnits/ResourceManager.cpp

Removed: 
    


################################################################################
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