[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()}).
This commit is contained in:
Kazu Hirata 2025-05-22 23:50:58 -07:00 committed by GitHub
parent 05674b21fe
commit cc78177e8f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 8 additions and 9 deletions

View File

@ -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<DenseMap<const Loop *, BackedgeTakenInfo>::iterator, bool> Pair =
BackedgeTakenCounts.insert({L, BackedgeTakenInfo()});
BackedgeTakenCounts.try_emplace(L);
if (!Pair.second)
return Pair.first->second;

View File

@ -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;

View File

@ -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);
}

View File

@ -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++;

View File

@ -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<MachineFunction *>(&MF))
BlockInfos.insert({MBB, BlockInfo()});
BlockInfos.try_emplace(MBB);
std::unique_ptr<WaitcntBrackets> Brackets;
bool Repeat;