diff options
author | Kazu Hirata <kazu@google.com> | 2025-05-17 13:53:44 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2025-05-17 13:53:44 -0700 |
commit | 2e2a7923a428e78b5387be1e28f63db1bc1171bb (patch) | |
tree | b182f728441b2d693039344b08786662aa480a35 /llvm/lib/ProfileData/InstrProfWriter.cpp | |
parent | f5576729a4e26d62ba183a9443025f00ebdcc1e9 (diff) | |
download | llvm-2e2a7923a428e78b5387be1e28f63db1bc1171bb.zip llvm-2e2a7923a428e78b5387be1e28f63db1bc1171bb.tar.gz llvm-2e2a7923a428e78b5387be1e28f63db1bc1171bb.tar.bz2 |
[ProfileData] Use DenseMap::try_emplace (NFC) (#140394)
We can simplify the code with structured binding and try_emplace.
Note that try_emplace default-constructs the value if omitted.
FWIW, structured binding, a C++17 feature, wasn't available in our
codebase at the time the code was written.
Diffstat (limited to 'llvm/lib/ProfileData/InstrProfWriter.cpp')
-rw-r--r-- | llvm/lib/ProfileData/InstrProfWriter.cpp | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/llvm/lib/ProfileData/InstrProfWriter.cpp b/llvm/lib/ProfileData/InstrProfWriter.cpp index 9dc1a0d..39451c3 100644 --- a/llvm/lib/ProfileData/InstrProfWriter.cpp +++ b/llvm/lib/ProfileData/InstrProfWriter.cpp @@ -178,10 +178,7 @@ void InstrProfWriter::overlapRecord(NamedInstrProfRecord &&Other, return; } auto &ProfileDataMap = It->second; - bool NewFunc; - ProfilingData::iterator Where; - std::tie(Where, NewFunc) = - ProfileDataMap.insert(std::make_pair(Hash, InstrProfRecord())); + auto [Where, NewFunc] = ProfileDataMap.try_emplace(Hash); if (NewFunc) { Overlap.addOneMismatch(FuncLevelOverlap.Test); return; @@ -200,10 +197,7 @@ void InstrProfWriter::addRecord(StringRef Name, uint64_t Hash, function_ref<void(Error)> Warn) { auto &ProfileDataMap = FunctionData[Name]; - bool NewFunc; - ProfilingData::iterator Where; - std::tie(Where, NewFunc) = - ProfileDataMap.insert(std::make_pair(Hash, InstrProfRecord())); + auto [Where, NewFunc] = ProfileDataMap.try_emplace(Hash); InstrProfRecord &Dest = Where->second; auto MapWarn = [&](instrprof_error E) { |