[llvm] eef6c09 - [ARM] Avoid repeated hash lookups (NFC) (#111935)

via llvm-commits llvm-commits at lists.llvm.org
Fri Oct 11 08:58:09 PDT 2024


Author: Kazu Hirata
Date: 2024-10-11T08:58:06-07:00
New Revision: eef6c0926ea5075c7b67a8f6023bfc775563d1f6

URL: https://github.com/llvm/llvm-project/commit/eef6c0926ea5075c7b67a8f6023bfc775563d1f6
DIFF: https://github.com/llvm/llvm-project/commit/eef6c0926ea5075c7b67a8f6023bfc775563d1f6.diff

LOG: [ARM] Avoid repeated hash lookups (NFC) (#111935)

Added: 
    

Modified: 
    llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp

Removed: 
    


################################################################################
diff  --git a/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp b/llvm/lib/Target/ARM/ARMLoadStoreOptimizer.cpp
index b151a0116a9c41..c7b6b3579120dc 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;
         }


        


More information about the llvm-commits mailing list