[llvm] [Hexagon] Avoid repeated hash lookups (NFC) (PR #107760)

Nikita Popov via llvm-commits llvm-commits at lists.llvm.org
Sun Sep 8 08:27:31 PDT 2024


================
@@ -297,10 +297,8 @@ LaneBitmask HexagonExpandCondsets::getLaneMask(Register Reg, unsigned Sub) {
 void HexagonExpandCondsets::addRefToMap(RegisterRef RR, ReferenceMap &Map,
       unsigned Exec) {
   unsigned Mask = getMaskForSub(RR.Sub) | Exec;
-  ReferenceMap::iterator F = Map.find(RR.Reg);
-  if (F == Map.end())
-    Map.insert(std::make_pair(RR.Reg, Mask));
-  else
+  auto [F, Inserted] = Map.try_emplace(RR.Reg, Mask);
+  if (!Inserted)
     F->second |= Mask;
----------------
nikic wrote:

I think this function would be more elegantly written as just `Map[RR.Reg] |= Mask`, making use of 0 default initialization.

https://github.com/llvm/llvm-project/pull/107760


More information about the llvm-commits mailing list