From cc78177e8f50f1d217b2fba5677fc1664aabd91e Mon Sep 17 00:00:00 2001 From: Kazu Hirata Date: Thu, 22 May 2025 23:50:58 -0700 Subject: [PATCH] [llvm] Use *Map::try_emplace (NFC) (#141190) try_emplace can default-construct values, so we do not need to do so on our own. Plus, try_emplace(Key) is much simpler/shorter than insert({Key, LongValueType()}). --- llvm/lib/Analysis/ScalarEvolution.cpp | 4 ++-- llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp | 6 +++--- llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp | 3 +-- llvm/lib/CodeGen/NonRelocatableStringpool.cpp | 2 +- llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp | 2 +- 5 files changed, 8 insertions(+), 9 deletions(-) diff --git a/llvm/lib/Analysis/ScalarEvolution.cpp b/llvm/lib/Analysis/ScalarEvolution.cpp index 5e01c29615fa..b0975df6ed39 100644 --- a/llvm/lib/Analysis/ScalarEvolution.cpp +++ b/llvm/lib/Analysis/ScalarEvolution.cpp @@ -8371,7 +8371,7 @@ ScalarEvolution::getPredicatedBackedgeTakenInfo(const Loop *L) { if (BTI.hasFullInfo()) return BTI; - auto Pair = PredicatedBackedgeTakenCounts.insert({L, BackedgeTakenInfo()}); + auto Pair = PredicatedBackedgeTakenCounts.try_emplace(L); if (!Pair.second) return Pair.first->second; @@ -8390,7 +8390,7 @@ ScalarEvolution::getBackedgeTakenInfo(const Loop *L) { // code elsewhere that it shouldn't attempt to request a new // backedge-taken count, which could result in infinite recursion. std::pair::iterator, bool> Pair = - BackedgeTakenCounts.insert({L, BackedgeTakenInfo()}); + BackedgeTakenCounts.try_emplace(L); if (!Pair.second) return Pair.first->second; diff --git a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp index df4e48571692..fc43bc6f7776 100644 --- a/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp +++ b/llvm/lib/CodeGen/AsmPrinter/CodeViewDebug.cpp @@ -234,7 +234,7 @@ unsigned CodeViewDebug::maybeRecordFile(const DIFile *F) { CodeViewDebug::InlineSite & CodeViewDebug::getInlineSite(const DILocation *InlinedAt, const DISubprogram *Inlinee) { - auto SiteInsertion = CurFn->InlineSites.insert({InlinedAt, InlineSite()}); + auto SiteInsertion = CurFn->InlineSites.try_emplace(InlinedAt); InlineSite *Site = &SiteInsertion.first->second; if (SiteInsertion.second) { unsigned ParentFuncId = CurFn->FuncId; @@ -2743,7 +2743,7 @@ TypeIndex CodeViewDebug::getCompleteTypeIndex(const DIType *Ty) { // Check if we've already translated the complete record type. // Insert the type with a null TypeIndex to signify that the type is currently // being lowered. - auto InsertResult = CompleteTypeIndices.insert({CTy, TypeIndex()}); + auto InsertResult = CompleteTypeIndices.try_emplace(CTy); if (!InsertResult.second) return InsertResult.first->second; @@ -3005,7 +3005,7 @@ void CodeViewDebug::collectLexicalBlockInfo( // Create a new CodeView lexical block for this lexical scope. If we've // seen this DILexicalBlock before then the scope tree is malformed and // we can handle this gracefully by not processing it a second time. - auto BlockInsertion = CurFn->LexicalBlocks.insert({DILB, LexicalBlock()}); + auto BlockInsertion = CurFn->LexicalBlocks.try_emplace(DILB); if (!BlockInsertion.second) return; diff --git a/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp b/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp index a1fd5a71df93..fdf50188fbcd 100644 --- a/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp +++ b/llvm/lib/CodeGen/LiveDebugValues/InstrRefBasedImpl.cpp @@ -1691,8 +1691,7 @@ bool InstrRefBasedLDV::transferDebugInstrRef(MachineInstr &MI, // filled in later. for (const DbgOp &Op : DbgOps) { if (!Op.IsConst) - if (FoundLocs.insert({Op.ID, TransferTracker::LocationAndQuality()}) - .second) + if (FoundLocs.try_emplace(Op.ID).second) ValuesToFind.push_back(Op.ID); } diff --git a/llvm/lib/CodeGen/NonRelocatableStringpool.cpp b/llvm/lib/CodeGen/NonRelocatableStringpool.cpp index 26857c6a4088..087ac622ffdc 100644 --- a/llvm/lib/CodeGen/NonRelocatableStringpool.cpp +++ b/llvm/lib/CodeGen/NonRelocatableStringpool.cpp @@ -12,7 +12,7 @@ namespace llvm { DwarfStringPoolEntryRef NonRelocatableStringpool::getEntry(StringRef S) { - auto I = Strings.insert({S, DwarfStringPoolEntry()}); + auto I = Strings.try_emplace(S); auto &Entry = I.first->second; if (I.second || !Entry.isIndexed()) { Entry.Index = NumEntries++; diff --git a/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp b/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp index dc11e0a4e012..99c00e149c14 100644 --- a/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp +++ b/llvm/lib/Target/AMDGPU/SIInsertWaitcnts.cpp @@ -2656,7 +2656,7 @@ bool SIInsertWaitcnts::run(MachineFunction &MF) { // Keep iterating over the blocks in reverse post order, inserting and // updating s_waitcnt where needed, until a fix point is reached. for (auto *MBB : ReversePostOrderTraversal(&MF)) - BlockInfos.insert({MBB, BlockInfo()}); + BlockInfos.try_emplace(MBB); std::unique_ptr Brackets; bool Repeat;