Skip to content

Commit 92a8ec7

Browse files
authored
LSV: fix style after cursory reading (NFC) (llvm#104793)
1 parent 5e8f461 commit 92a8ec7

File tree

1 file changed

+36
-36
lines changed

1 file changed

+36
-36
lines changed

llvm/lib/Transforms/Vectorize/LoadStoreVectorizer.cpp

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,8 @@ using EqClassKey =
157157
struct ChainElem {
158158
Instruction *Inst;
159159
APInt OffsetFromLeader;
160+
ChainElem(Instruction *Inst, APInt OffsetFromLeader)
161+
: Inst(std::move(Inst)), OffsetFromLeader(std::move(OffsetFromLeader)) {}
160162
};
161163
using Chain = SmallVector<ChainElem, 1>;
162164

@@ -187,7 +189,7 @@ constexpr unsigned StackAdjustedAlignment = 4;
187189
Instruction *propagateMetadata(Instruction *I, const Chain &C) {
188190
SmallVector<Value *, 8> Values;
189191
for (const ChainElem &E : C)
190-
Values.push_back(E.Inst);
192+
Values.emplace_back(E.Inst);
191193
return propagateMetadata(I, Values);
192194
}
193195

@@ -202,12 +204,12 @@ void reorder(Instruction *I) {
202204
SmallPtrSet<Instruction *, 16> InstructionsToMove;
203205
SmallVector<Instruction *, 16> Worklist;
204206

205-
Worklist.push_back(I);
207+
Worklist.emplace_back(I);
206208
while (!Worklist.empty()) {
207209
Instruction *IW = Worklist.pop_back_val();
208210
int NumOperands = IW->getNumOperands();
209-
for (int i = 0; i < NumOperands; i++) {
210-
Instruction *IM = dyn_cast<Instruction>(IW->getOperand(i));
211+
for (int Idx = 0; Idx < NumOperands; Idx++) {
212+
Instruction *IM = dyn_cast<Instruction>(IW->getOperand(Idx));
211213
if (!IM || IM->getOpcode() == Instruction::PHI)
212214
continue;
213215

@@ -220,15 +222,15 @@ void reorder(Instruction *I) {
220222

221223
if (!IM->comesBefore(I)) {
222224
InstructionsToMove.insert(IM);
223-
Worklist.push_back(IM);
225+
Worklist.emplace_back(IM);
224226
}
225227
}
226228
}
227229

228230
// All instructions to move should follow I. Start from I, not from begin().
229231
for (auto BBI = I->getIterator(), E = I->getParent()->end(); BBI != E;) {
230232
Instruction *IM = &*(BBI++);
231-
if (!InstructionsToMove.count(IM))
233+
if (!InstructionsToMove.contains(IM))
232234
continue;
233235
IM->moveBefore(I);
234236
}
@@ -438,11 +440,11 @@ bool Vectorizer::run() {
438440
assert(!BB->empty());
439441

440442
SmallVector<BasicBlock::iterator, 8> Barriers;
441-
Barriers.push_back(BB->begin());
443+
Barriers.emplace_back(BB->begin());
442444
for (Instruction &I : *BB)
443445
if (!isGuaranteedToTransferExecutionToSuccessor(&I))
444-
Barriers.push_back(I.getIterator());
445-
Barriers.push_back(BB->end());
446+
Barriers.emplace_back(I.getIterator());
447+
Barriers.emplace_back(BB->end());
446448

447449
for (auto It = Barriers.begin(), End = std::prev(Barriers.end()); It != End;
448450
++It)
@@ -559,14 +561,14 @@ std::vector<Chain> Vectorizer::splitChainByMayAliasInstrs(Chain &C) {
559561

560562
std::vector<Chain> Chains;
561563
SmallVector<ChainElem, 1> NewChain;
562-
NewChain.push_back(*ChainBegin);
564+
NewChain.emplace_back(*ChainBegin);
563565
for (auto ChainIt = std::next(ChainBegin); ChainIt != ChainEnd; ++ChainIt) {
564566
if (isSafeToMove<IsLoad>(ChainIt->Inst, NewChain.front().Inst,
565567
ChainOffsets)) {
566568
LLVM_DEBUG(dbgs() << "LSV: No intervening may-alias instrs; can merge "
567569
<< *ChainIt->Inst << " into " << *ChainBegin->Inst
568570
<< "\n");
569-
NewChain.push_back(*ChainIt);
571+
NewChain.emplace_back(*ChainIt);
570572
} else {
571573
LLVM_DEBUG(
572574
dbgs() << "LSV: Found intervening may-alias instrs; cannot merge "
@@ -576,7 +578,7 @@ std::vector<Chain> Vectorizer::splitChainByMayAliasInstrs(Chain &C) {
576578
dbgs() << "LSV: got nontrivial chain without aliasing instrs:\n";
577579
dumpChain(NewChain);
578580
});
579-
Chains.push_back(std::move(NewChain));
581+
Chains.emplace_back(std::move(NewChain));
580582
}
581583

582584
// Start a new chain.
@@ -588,7 +590,7 @@ std::vector<Chain> Vectorizer::splitChainByMayAliasInstrs(Chain &C) {
588590
dbgs() << "LSV: got nontrivial chain without aliasing instrs:\n";
589591
dumpChain(NewChain);
590592
});
591-
Chains.push_back(std::move(NewChain));
593+
Chains.emplace_back(std::move(NewChain));
592594
}
593595
return Chains;
594596
};
@@ -689,7 +691,7 @@ std::vector<Chain> Vectorizer::splitChainByAlignment(Chain &C) {
689691
});
690692

691693
bool IsLoadChain = isa<LoadInst>(C[0].Inst);
692-
auto getVectorFactor = [&](unsigned VF, unsigned LoadStoreSize,
694+
auto GetVectorFactor = [&](unsigned VF, unsigned LoadStoreSize,
693695
unsigned ChainSizeBytes, VectorType *VecTy) {
694696
return IsLoadChain ? TTI.getLoadVectorFactor(VF, LoadStoreSize,
695697
ChainSizeBytes, VecTy)
@@ -721,8 +723,8 @@ std::vector<Chain> Vectorizer::splitChainByAlignment(Chain &C) {
721723
C[CBegin].OffsetFromLeader;
722724
if (Sz.sgt(VecRegBytes))
723725
break;
724-
CandidateChains.push_back(
725-
{CEnd, static_cast<unsigned>(Sz.getLimitedValue())});
726+
CandidateChains.emplace_back(CEnd,
727+
static_cast<unsigned>(Sz.getLimitedValue()));
726728
}
727729

728730
// Consider the longest chain first.
@@ -746,7 +748,7 @@ std::vector<Chain> Vectorizer::splitChainByAlignment(Chain &C) {
746748
unsigned VF = 8 * VecRegBytes / VecElemBits;
747749

748750
// Check that TTI is happy with this vectorization factor.
749-
unsigned TargetVF = getVectorFactor(VF, VecElemBits,
751+
unsigned TargetVF = GetVectorFactor(VF, VecElemBits,
750752
VecElemBits * NumVecElems / 8, VecTy);
751753
if (TargetVF != VF && TargetVF < NumVecElems) {
752754
LLVM_DEBUG(
@@ -840,7 +842,7 @@ std::vector<Chain> Vectorizer::splitChainByAlignment(Chain &C) {
840842
// Hooray, we can vectorize this chain!
841843
Chain &NewChain = Ret.emplace_back();
842844
for (unsigned I = CBegin; I <= CEnd; ++I)
843-
NewChain.push_back(C[I]);
845+
NewChain.emplace_back(C[I]);
844846
CBegin = CEnd; // Skip over the instructions we've added to the chain.
845847
break;
846848
}
@@ -959,7 +961,7 @@ bool Vectorizer::vectorizeChain(Chain &C) {
959961
Vec = Builder.CreateInsertElement(Vec, V, Builder.getInt32(VecIdx++));
960962
};
961963
for (const ChainElem &E : C) {
962-
auto I = cast<StoreInst>(E.Inst);
964+
auto *I = cast<StoreInst>(E.Inst);
963965
if (FixedVectorType *VT =
964966
dyn_cast<FixedVectorType>(getLoadStoreType(I))) {
965967
for (int J = 0, JE = VT->getNumElements(); J < JE; ++J) {
@@ -982,7 +984,7 @@ bool Vectorizer::vectorizeChain(Chain &C) {
982984
propagateMetadata(VecInst, C);
983985

984986
for (const ChainElem &E : C)
985-
ToErase.push_back(E.Inst);
987+
ToErase.emplace_back(E.Inst);
986988

987989
++NumVectorInstructions;
988990
NumScalarsVectorized += C.size();
@@ -1291,7 +1293,7 @@ std::optional<APInt> Vectorizer::getConstantOffsetSelects(
12911293
<< *ContextInst << ", Depth=" << Depth << "\n");
12921294
std::optional<APInt> TrueDiff = getConstantOffset(
12931295
SelectA->getTrueValue(), SelectB->getTrueValue(), ContextInst, Depth);
1294-
if (!TrueDiff.has_value())
1296+
if (!TrueDiff)
12951297
return std::nullopt;
12961298
std::optional<APInt> FalseDiff =
12971299
getConstantOffset(SelectA->getFalseValue(), SelectB->getFalseValue(),
@@ -1308,7 +1310,7 @@ Vectorizer::collectEquivalenceClasses(BasicBlock::iterator Begin,
13081310
BasicBlock::iterator End) {
13091311
EquivalenceClassMap Ret;
13101312

1311-
auto getUnderlyingObject = [](const Value *Ptr) -> const Value * {
1313+
auto GetUnderlyingObject = [](const Value *Ptr) -> const Value * {
13121314
const Value *ObjPtr = llvm::getUnderlyingObject(Ptr);
13131315
if (const auto *Sel = dyn_cast<SelectInst>(ObjPtr)) {
13141316
// The select's themselves are distinct instructions even if they share
@@ -1369,10 +1371,10 @@ Vectorizer::collectEquivalenceClasses(BasicBlock::iterator Begin,
13691371
(VecTy && TTI.getLoadVectorFactor(VF, TySize, TySize / 8, VecTy) == 0))
13701372
continue;
13711373

1372-
Ret[{getUnderlyingObject(Ptr), AS,
1374+
Ret[{GetUnderlyingObject(Ptr), AS,
13731375
DL.getTypeSizeInBits(getLoadStoreType(&I)->getScalarType()),
13741376
/*IsLoad=*/LI != nullptr}]
1375-
.push_back(&I);
1377+
.emplace_back(&I);
13761378
}
13771379

13781380
return Ret;
@@ -1434,15 +1436,14 @@ std::vector<Chain> Vectorizer::gatherChains(ArrayRef<Instruction *> Instrs) {
14341436
auto ChainIter = MRU.begin();
14351437
for (size_t J = 0; J < MaxChainsToTry && ChainIter != MRU.end();
14361438
++J, ++ChainIter) {
1437-
std::optional<APInt> Offset = getConstantOffset(
1438-
getLoadStorePointerOperand(ChainIter->first),
1439-
getLoadStorePointerOperand(I),
1440-
/*ContextInst=*/
1441-
(ChainIter->first->comesBefore(I) ? I : ChainIter->first));
1442-
if (Offset.has_value()) {
1439+
if (std::optional<APInt> Offset = getConstantOffset(
1440+
getLoadStorePointerOperand(ChainIter->first),
1441+
getLoadStorePointerOperand(I),
1442+
/*ContextInst=*/
1443+
(ChainIter->first->comesBefore(I) ? I : ChainIter->first))) {
14431444
// `Offset` might not have the expected number of bits, if e.g. AS has a
14441445
// different number of bits than opaque pointers.
1445-
ChainIter->second.push_back(ChainElem{I, Offset.value()});
1446+
ChainIter->second.emplace_back(I, Offset.value());
14461447
// Move ChainIter to the front of the MRU list.
14471448
MRU.remove(*ChainIter);
14481449
MRU.push_front(*ChainIter);
@@ -1454,7 +1455,7 @@ std::vector<Chain> Vectorizer::gatherChains(ArrayRef<Instruction *> Instrs) {
14541455
if (!MatchFound) {
14551456
APInt ZeroOffset(ASPtrBits, 0);
14561457
InstrListElem *E = new (Allocator.Allocate()) InstrListElem(I);
1457-
E->second.push_back(ChainElem{I, ZeroOffset});
1458+
E->second.emplace_back(I, ZeroOffset);
14581459
MRU.push_front(*E);
14591460
Chains.insert(E);
14601461
}
@@ -1465,7 +1466,7 @@ std::vector<Chain> Vectorizer::gatherChains(ArrayRef<Instruction *> Instrs) {
14651466
// Iterate over MRU rather than Chains so the order is deterministic.
14661467
for (auto &E : MRU)
14671468
if (E.second.size() > 1)
1468-
Ret.push_back(std::move(E.second));
1469+
Ret.emplace_back(std::move(E.second));
14691470
return Ret;
14701471
}
14711472

@@ -1509,9 +1510,8 @@ std::optional<APInt> Vectorizer::getConstantOffset(Value *PtrA, Value *PtrB,
15091510
return (OffsetB - OffsetA + Dist).sextOrTrunc(OrigBitWidth);
15101511
}
15111512
}
1512-
std::optional<APInt> Diff =
1513-
getConstantOffsetComplexAddrs(PtrA, PtrB, ContextInst, Depth);
1514-
if (Diff.has_value())
1513+
if (std::optional<APInt> Diff =
1514+
getConstantOffsetComplexAddrs(PtrA, PtrB, ContextInst, Depth))
15151515
return (OffsetB - OffsetA + Diff->sext(OffsetB.getBitWidth()))
15161516
.sextOrTrunc(OrigBitWidth);
15171517
return std::nullopt;

0 commit comments

Comments
 (0)