[llvm] [SLPVectorizer] Avoid repeated hash lookups (NFC) (PR #107491)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 5 17:13:42 PDT 2024


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

None

>From 2140590ae3b00fb12dac04d70fa451a3c5a3ebb1 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Thu, 5 Sep 2024 12:00:42 -0700
Subject: [PATCH] [SLPVectorizer] Avoid repeated hash lookups (NFC)

---
 llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index a77d236413a968..c87d1055c8bc5d 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -5854,13 +5854,8 @@ void BoUpSLP::reorderBottomToTop(bool IgnoreReorder) {
       }
       // Build a map between user nodes and their operands order to speedup
       // search. The graph currently does not provide this dependency directly.
-      for (EdgeInfo &EI : TE->UserTreeIndices) {
-        TreeEntry *UserTE = EI.UserTE;
-        auto It = Users.find(UserTE);
-        if (It == Users.end())
-          It = Users.insert({UserTE, {}}).first;
-        It->second.emplace_back(EI.EdgeIdx, TE);
-      }
+      for (EdgeInfo &EI : TE->UserTreeIndices)
+        Users[EI.UserTE].emplace_back(EI.EdgeIdx, TE);
     }
     // Erase filtered entries.
     for (TreeEntry *TE : Filtered)



More information about the llvm-commits mailing list