@@ -8030,11 +8030,11 @@ void BoUpSLP::reorderTopToBottom() {
8030
8030
// it is an attempt to reorder node with reused scalars but with
8031
8031
// external uses.
8032
8032
if (OpTE->getVectorFactor() != OpTE->Scalars.size()) {
8033
- OrdersUses.insert(std::make_pair( OrdersType(), 0) ).first->second +=
8033
+ OrdersUses.try_emplace( OrdersType(), 0).first->second +=
8034
8034
ExternalUserReorderIndices.size();
8035
8035
} else {
8036
8036
for (const OrdersType &ExtOrder : ExternalUserReorderIndices)
8037
- ++OrdersUses.insert(std::make_pair( ExtOrder, 0) ).first->second;
8037
+ ++OrdersUses.try_emplace( ExtOrder, 0).first->second;
8038
8038
}
8039
8039
// No other useful reorder data in this entry.
8040
8040
if (Order.empty())
@@ -8054,9 +8054,9 @@ void BoUpSLP::reorderTopToBottom() {
8054
8054
return Idx == PoisonMaskElem ? E : static_cast<unsigned>(Idx);
8055
8055
});
8056
8056
fixupOrderingIndices(CurrentOrder);
8057
- ++OrdersUses.insert(std::make_pair( CurrentOrder, 0) ).first->second;
8057
+ ++OrdersUses.try_emplace( CurrentOrder, 0).first->second;
8058
8058
} else {
8059
- ++OrdersUses.insert(std::make_pair( Order, 0) ).first->second;
8059
+ ++OrdersUses.try_emplace( Order, 0).first->second;
8060
8060
}
8061
8061
}
8062
8062
if (OrdersUses.empty())
@@ -8480,12 +8480,11 @@ void BoUpSLP::reorderBottomToTop(bool IgnoreReorder) {
8480
8480
return Idx == PoisonMaskElem ? E : static_cast<unsigned>(Idx);
8481
8481
});
8482
8482
fixupOrderingIndices(CurrentOrder);
8483
- OrdersUses.insert(std::make_pair(CurrentOrder, 0)).first->second +=
8484
- NumOps;
8483
+ OrdersUses.try_emplace(CurrentOrder, 0).first->second += NumOps;
8485
8484
} else {
8486
- OrdersUses.insert(std::make_pair( Order, 0) ).first->second += NumOps;
8485
+ OrdersUses.try_emplace( Order, 0).first->second += NumOps;
8487
8486
}
8488
- auto Res = OrdersUses.insert(std::make_pair( OrdersType(), 0) );
8487
+ auto Res = OrdersUses.try_emplace( OrdersType(), 0);
8489
8488
const auto AllowsReordering = [&](const TreeEntry *TE) {
8490
8489
if (!TE->ReorderIndices.empty() || !TE->ReuseShuffleIndices.empty() ||
8491
8490
(TE->State == TreeEntry::Vectorize && TE->isAltShuffle()) ||
@@ -23797,9 +23796,7 @@ class HorizontalReduction {
23797
23796
size_t Key, Idx;
23798
23797
std::tie(Key, Idx) = generateKeySubkey(V, &TLI, GenerateLoadsSubkey,
23799
23798
/*AllowAlternate=*/false);
23800
- ++PossibleReducedVals[Key][Idx]
23801
- .insert(std::make_pair(V, 0))
23802
- .first->second;
23799
+ ++PossibleReducedVals[Key][Idx].try_emplace(V, 0).first->second;
23803
23800
}
23804
23801
for (Instruction *I : reverse(PossibleReductionOps))
23805
23802
Worklist.emplace_back(I, I->getParent() == BB ? 0 : Level + 1);
@@ -26061,7 +26058,7 @@ bool SLPVectorizerPass::vectorizeChainsInBlock(BasicBlock *BB, BoUpSLP &R) {
26061
26058
26062
26059
InstSetVector PostProcessInserts;
26063
26060
SmallSetVector<CmpInst *, 8> PostProcessCmps;
26064
- // Vectorizes Inserts in `PostProcessInserts` and if `VecctorizeCmps ` is true
26061
+ // Vectorizes Inserts in `PostProcessInserts` and if `VectorizeCmps ` is true
26065
26062
// also vectorizes `PostProcessCmps`.
26066
26063
auto VectorizeInsertsAndCmps = [&](bool VectorizeCmps) {
26067
26064
bool Changed = vectorizeInserts(PostProcessInserts, BB, R);
0 commit comments