[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