aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
diff options
context:
space:
mode:
authorKazu Hirata <kazu@google.com>2024-10-11 08:58:06 -0700
committerGitHub <noreply@github.com>2024-10-11 08:58:06 -0700
commiteef6c0926ea5075c7b67a8f6023bfc775563d1f6 (patch)
tree3ccb033c7848f28fbe36ab5287434e71f0f29390 /llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
parent75774c1c364711d365dae14028edfda5122a0d50 (diff)
downloadllvm-eef6c0926ea5075c7b67a8f6023bfc775563d1f6.zip
llvm-eef6c0926ea5075c7b67a8f6023bfc775563d1f6.tar.gz
llvm-eef6c0926ea5075c7b67a8f6023bfc775563d1f6.tar.bz2
[ARM] Avoid repeated hash lookups (NFC) (#111935)
Diffstat (limited to 'llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp')
-rw-r--r--llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp7
1 files changed, 3 insertions, 4 deletions
diff --git a/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp b/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
index b151a011..c7b6b35 100644
--- a/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
+++ b/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
@@ -2532,7 +2532,6 @@ ARMPreAllocLoadStoreOpt::RescheduleLoadStoreInstrs(MachineBasicBlock *MBB) {
bool RetVal = false;
DenseMap<MachineInstr *, unsigned> MI2LocMap;
- using MapIt = DenseMap<unsigned, SmallVector<MachineInstr *, 4>>::iterator;
using Base2InstMap = DenseMap<unsigned, SmallVector<MachineInstr *, 4>>;
using BaseVec = SmallVector<unsigned, 4>;
Base2InstMap Base2LdsMap;
@@ -2571,9 +2570,9 @@ ARMPreAllocLoadStoreOpt::RescheduleLoadStoreInstrs(MachineBasicBlock *MBB) {
int Offset = getMemoryOpOffset(MI);
bool StopHere = false;
auto FindBases = [&](Base2InstMap &Base2Ops, BaseVec &Bases) {
- MapIt BI = Base2Ops.find(Base);
- if (BI == Base2Ops.end()) {
- Base2Ops[Base].push_back(&MI);
+ auto [BI, Inserted] = Base2Ops.try_emplace(Base);
+ if (Inserted) {
+ BI->second.push_back(&MI);
Bases.push_back(Base);
return;
}