[llvm] [memprof] Simplify code with MapVector::operator[] (NFC) (PR #111335)

Kazu Hirata via llvm-commits llvm-commits at lists.llvm.org
Sun Oct 6 21:15:28 PDT 2024


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

Note that the following are all equivalent to each other:

  Map.insert({Key, Value()}).first->second
  Map.try_emplace(Key).first->second
  Map[Key]


>From d76812bfe7c514a2ba72c14524eb954cdf362bbf Mon Sep 17 00:00:00 2001
From: Kazu Hirata <kazu at google.com>
Date: Sun, 6 Oct 2024 20:56:54 -0700
Subject: [PATCH] [memprof] Simplify code with MapVector::operator[] (NFC)

Note that the following are all equivalent to each other:

  Map.insert({Key, Value()}).first->second
  Map.try_emplace(Key).first->second
  Map[Key]
---
 llvm/lib/ProfileData/MemProfReader.cpp | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/llvm/lib/ProfileData/MemProfReader.cpp b/llvm/lib/ProfileData/MemProfReader.cpp
index 58622e5ed254ea..e3c85e179ac43b 100644
--- a/llvm/lib/ProfileData/MemProfReader.cpp
+++ b/llvm/lib/ProfileData/MemProfReader.cpp
@@ -529,9 +529,7 @@ Error RawMemProfReader::mapRawProfileToRecords() {
     // first non-inline frame.
     for (size_t I = 0; /*Break out using the condition below*/; I++) {
       const Frame &F = idToFrame(Callstack[I]);
-      auto Result =
-          FunctionProfileData.insert({F.Function, IndexedMemProfRecord()});
-      IndexedMemProfRecord &Record = Result.first->second;
+      IndexedMemProfRecord &Record = FunctionProfileData[F.Function];
       Record.AllocSites.emplace_back(Callstack, CSId, MIB);
 
       if (!F.IsInlineFrame)
@@ -543,8 +541,7 @@ Error RawMemProfReader::mapRawProfileToRecords() {
   for (const auto &[Id, Locs] : PerFunctionCallSites) {
     // Some functions may have only callsite data and no allocation data. Here
     // we insert a new entry for callsite data if we need to.
-    auto Result = FunctionProfileData.insert({Id, IndexedMemProfRecord()});
-    IndexedMemProfRecord &Record = Result.first->second;
+    IndexedMemProfRecord &Record = FunctionProfileData[Id];
     for (LocationPtr Loc : Locs) {
       CallStackId CSId = hashCallStack(*Loc);
       CSIdToCallStack.insert({CSId, *Loc});



More information about the llvm-commits mailing list