[llvm] [Hexagon] Avoid repeated hash lookups (NFC) (PR #125459)
Kazu Hirata via llvm-commits
llvm-commits at lists.llvm.org
Sun Feb 2 21:39:40 PST 2025
https://github.com/kazutakahirata created https://github.com/llvm/llvm-project/pull/125459
None
>From ef5de35637d0da66d737aa96aef3f9f49eefa717 Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sun, 2 Feb 2025 12:11:29 -0800
Subject: [PATCH] [Hexagon] Avoid repeated hash lookups (NFC)
---
.../Target/Hexagon/HexagonLoopIdiomRecognition.cpp | 14 ++++++--------
1 file changed, 6 insertions(+), 8 deletions(-)
diff --git a/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp b/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
index d2ae2ef7bd7ff31..41803e66a0f8e0a 100644
--- a/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
+++ b/llvm/lib/Target/Hexagon/HexagonLoopIdiomRecognition.cpp
@@ -1388,14 +1388,12 @@ bool PolynomialMultiplyRecognize::convertShiftsToLeft(BasicBlock *LoopB,
CastMapType CastMap;
- auto upcast = [] (CastMapType &CM, IRBuilder<> &IRB, Value *V,
- IntegerType *Ty) -> Value* {
- auto H = CM.find(std::make_pair(V, Ty));
- if (H != CM.end())
- return H->second;
- Value *CV = IRB.CreateIntCast(V, Ty, false);
- CM.insert(std::make_pair(std::make_pair(V, Ty), CV));
- return CV;
+ auto upcast = [](CastMapType &CM, IRBuilder<> &IRB, Value *V,
+ IntegerType *Ty) -> Value * {
+ auto [H, Inserted] = CM.try_emplace(std::make_pair(V, Ty));
+ if (Inserted)
+ H->second = IRB.CreateIntCast(V, Ty, false);
+ return H->second;
};
for (auto I = LoopB->begin(), E = LoopB->end(); I != E; ++I) {
More information about the llvm-commits
mailing list