[llvm] [SandboxIR] Avoid repeated hash lookups (NFC) (PR #125337)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Fri Jan 31 22:11:54 PST 2025


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

None

>From 1504ec6883453aad9b66b9269dfafb64ba428ca1 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Fri, 31 Jan 2025 10:15:11 -0800
Subject: [PATCH] [SandboxIR] Avoid repeated hash lookups (NFC)

---
 llvm/lib/SandboxIR/Region.cpp | 12 ++++--------
 1 file changed, 4 insertions(+), 8 deletions(-)

diff --git a/llvm/lib/SandboxIR/Region.cpp b/llvm/lib/SandboxIR/Region.cpp
index 8c84d0c46fa10a..dbb000e5dd9253 100644
--- a/llvm/lib/SandboxIR/Region.cpp
+++ b/llvm/lib/SandboxIR/Region.cpp
@@ -94,16 +94,12 @@ Region::createRegionsFromMD(Function &F, TargetTransformInfo &TTI) {
   for (BasicBlock &BB : F) {
     for (Instruction &Inst : BB) {
       if (auto *MDN = cast<llvm::Instruction>(Inst.Val)->getMetadata(MDKind)) {
-        Region *R = nullptr;
-        auto It = MDNToRegion.find(MDN);
-        if (It == MDNToRegion.end()) {
+        auto [It, Inserted] = MDNToRegion.try_emplace(MDN);
+        if (Inserted) {
           Regions.push_back(std::make_unique<Region>(Ctx, TTI));
-          R = Regions.back().get();
-          MDNToRegion[MDN] = R;
-        } else {
-          R = It->second;
+          It->second = Regions.back().get();
         }
-        R->add(&Inst);
+        It->second->add(&Inst);
       }
     }
   }



More information about the llvm-commits mailing list