[llvm] [Transforms] Construct SmallVector with ArrayRef (NFC) (PR #101851)
via llvm-commits
llvm-commits at lists.llvm.org
Sat Aug 3 14:32:13 PDT 2024
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-pgo
@llvm/pr-subscribers-coroutines
Author: Kazu Hirata (kazutakahirata)
<details>
<summary>Changes</summary>
---
Full diff: https://github.com/llvm/llvm-project/pull/101851.diff
11 Files Affected:
- (modified) llvm/include/llvm/Transforms/IPO/Attributor.h (+1-1)
- (modified) llvm/lib/Transforms/Coroutines/CoroSplit.cpp (+1-1)
- (modified) llvm/lib/Transforms/IPO/PartialInlining.cpp (+4-5)
- (modified) llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp (+1-2)
- (modified) llvm/lib/Transforms/Scalar/LoopInterchange.cpp (+1-1)
- (modified) llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp (+1-1)
- (modified) llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp (+1-2)
- (modified) llvm/lib/Transforms/Utils/LoopVersioning.cpp (+2-4)
- (modified) llvm/lib/Transforms/Vectorize/LoopVectorize.cpp (+1-1)
- (modified) llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp (+8-11)
- (modified) llvm/lib/Transforms/Vectorize/VectorCombine.cpp (+3-3)
``````````diff
diff --git a/llvm/include/llvm/Transforms/IPO/Attributor.h b/llvm/include/llvm/Transforms/IPO/Attributor.h
index 34557238ecb23..ad3c6426efd2f 100644
--- a/llvm/include/llvm/Transforms/IPO/Attributor.h
+++ b/llvm/include/llvm/Transforms/IPO/Attributor.h
@@ -2247,7 +2247,7 @@ struct Attributor {
CalleeRepairCBTy &&CalleeRepairCB,
ACSRepairCBTy &&ACSRepairCB)
: A(A), ReplacedFn(*Arg.getParent()), ReplacedArg(Arg),
- ReplacementTypes(ReplacementTypes.begin(), ReplacementTypes.end()),
+ ReplacementTypes(ReplacementTypes),
CalleeRepairCB(std::move(CalleeRepairCB)),
ACSRepairCB(std::move(ACSRepairCB)) {}
diff --git a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
index 9e4da5f8ca961..8eceaef59a1e1 100644
--- a/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
+++ b/llvm/lib/Transforms/Coroutines/CoroSplit.cpp
@@ -1605,7 +1605,7 @@ struct SwitchCoroutineSplitter {
ArrayRef<Function *> Fns) {
// This only works under the switch-lowering ABI because coro elision
// only works on the switch-lowering ABI.
- SmallVector<Constant *, 4> Args(Fns.begin(), Fns.end());
+ SmallVector<Constant *, 4> Args(Fns);
assert(!Args.empty());
Function *Part = *Fns.begin();
Module *M = Part->getParent();
diff --git a/llvm/lib/Transforms/IPO/PartialInlining.cpp b/llvm/lib/Transforms/IPO/PartialInlining.cpp
index 3ca095e1520f3..28c81465a0948 100644
--- a/llvm/lib/Transforms/IPO/PartialInlining.cpp
+++ b/llvm/lib/Transforms/IPO/PartialInlining.cpp
@@ -170,11 +170,10 @@ struct FunctionOutliningMultiRegionInfo {
// Container for outline regions
struct OutlineRegionInfo {
- OutlineRegionInfo(ArrayRef<BasicBlock *> Region,
- BasicBlock *EntryBlock, BasicBlock *ExitBlock,
- BasicBlock *ReturnBlock)
- : Region(Region.begin(), Region.end()), EntryBlock(EntryBlock),
- ExitBlock(ExitBlock), ReturnBlock(ReturnBlock) {}
+ OutlineRegionInfo(ArrayRef<BasicBlock *> Region, BasicBlock *EntryBlock,
+ BasicBlock *ExitBlock, BasicBlock *ReturnBlock)
+ : Region(Region), EntryBlock(EntryBlock), ExitBlock(ExitBlock),
+ ReturnBlock(ReturnBlock) {}
SmallVector<BasicBlock *, 8> Region;
BasicBlock *EntryBlock;
BasicBlock *ExitBlock;
diff --git a/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp b/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
index c2affafa49e51..810cbbda66085 100644
--- a/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
+++ b/llvm/lib/Transforms/Instrumentation/ControlHeightReduction.cpp
@@ -281,8 +281,7 @@ class CHRScope {
private:
CHRScope(ArrayRef<RegInfo> RegInfosIn, ArrayRef<CHRScope *> SubsIn)
- : RegInfos(RegInfosIn.begin(), RegInfosIn.end()),
- Subs(SubsIn.begin(), SubsIn.end()), BranchInsertPoint(nullptr) {}
+ : RegInfos(RegInfosIn), Subs(SubsIn), BranchInsertPoint(nullptr) {}
};
class CHR {
diff --git a/llvm/lib/Transforms/Scalar/LoopInterchange.cpp b/llvm/lib/Transforms/Scalar/LoopInterchange.cpp
index 400973fd9fc91..949296c3db0de 100644
--- a/llvm/lib/Transforms/Scalar/LoopInterchange.cpp
+++ b/llvm/lib/Transforms/Scalar/LoopInterchange.cpp
@@ -383,7 +383,7 @@ struct LoopInterchange {
}
bool run(LoopNest &LN) {
- SmallVector<Loop *, 8> LoopList(LN.getLoops().begin(), LN.getLoops().end());
+ SmallVector<Loop *, 8> LoopList(LN.getLoops());
for (unsigned I = 1; I < LoopList.size(); ++I)
if (LoopList[I]->getParentLoop() != LoopList[I - 1])
return false;
diff --git a/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp b/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
index 6a681fd933971..d0a83a8242ddc 100644
--- a/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
+++ b/llvm/lib/Transforms/Scalar/LowerMatrixIntrinsics.cpp
@@ -362,7 +362,7 @@ class LowerMatrixIntrinsics {
public:
MatrixTy() : IsColumnMajor(MatrixLayout == MatrixLayoutTy::ColumnMajor) {}
MatrixTy(ArrayRef<Value *> Vectors)
- : Vectors(Vectors.begin(), Vectors.end()),
+ : Vectors(Vectors),
IsColumnMajor(MatrixLayout == MatrixLayoutTy::ColumnMajor) {}
MatrixTy(unsigned NumRows, unsigned NumColumns, Type *EltTy)
: IsColumnMajor(MatrixLayout == MatrixLayoutTy::ColumnMajor) {
diff --git a/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp b/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
index 56aa96e550d9c..2d74b2b8d1d2f 100644
--- a/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
+++ b/llvm/lib/Transforms/Utils/LoopUnrollRuntime.cpp
@@ -971,8 +971,7 @@ bool llvm::UnrollRuntimeLoopRemainder(
// (e.g. breakLoopBackedgeAndSimplify) and reused in loop-deletion.
BasicBlock *RemainderLatch = remainderLoop->getLoopLatch();
assert(RemainderLatch);
- SmallVector<BasicBlock*> RemainderBlocks(remainderLoop->getBlocks().begin(),
- remainderLoop->getBlocks().end());
+ SmallVector<BasicBlock *> RemainderBlocks(remainderLoop->getBlocks());
breakLoopBackedge(remainderLoop, *DT, *SE, *LI, nullptr);
remainderLoop = nullptr;
diff --git a/llvm/lib/Transforms/Utils/LoopVersioning.cpp b/llvm/lib/Transforms/Utils/LoopVersioning.cpp
index c43c92a6b4d5d..af2ed6240f722 100644
--- a/llvm/lib/Transforms/Utils/LoopVersioning.cpp
+++ b/llvm/lib/Transforms/Utils/LoopVersioning.cpp
@@ -42,10 +42,8 @@ LoopVersioning::LoopVersioning(const LoopAccessInfo &LAI,
ArrayRef<RuntimePointerCheck> Checks, Loop *L,
LoopInfo *LI, DominatorTree *DT,
ScalarEvolution *SE)
- : VersionedLoop(L), AliasChecks(Checks.begin(), Checks.end()),
- Preds(LAI.getPSE().getPredicate()), LAI(LAI), LI(LI), DT(DT),
- SE(SE) {
-}
+ : VersionedLoop(L), AliasChecks(Checks), Preds(LAI.getPSE().getPredicate()),
+ LAI(LAI), LI(LI), DT(DT), SE(SE) {}
void LoopVersioning::versionLoop(
const SmallVectorImpl<Instruction *> &DefsUsedOutside) {
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
index 6daa8043a3fbf..40d10395de17d 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -8219,7 +8219,7 @@ VPWidenRecipe *VPRecipeBuilder::tryToWiden(Instruction *I,
// If not provably safe, use a select to form a safe divisor before widening the
// div/rem operation itself. Otherwise fall through to general handling below.
if (CM.isPredicatedInst(I)) {
- SmallVector<VPValue *> Ops(Operands.begin(), Operands.end());
+ SmallVector<VPValue *> Ops(Operands);
VPValue *Mask = getBlockInMask(I->getParent());
VPValue *One =
Plan.getOrAddLiveIn(ConstantInt::get(I->getType(), 1u, false));
diff --git a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
index cd273429e6e67..305efb732d8f7 100644
--- a/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
+++ b/llvm/lib/Transforms/Vectorize/SLPVectorizer.cpp
@@ -1575,7 +1575,7 @@ class BoUpSLP {
if (I1 && I2) {
if (I1->getParent() != I2->getParent())
return CheckSameEntryOrFail();
- SmallVector<Value *, 4> Ops(MainAltOps.begin(), MainAltOps.end());
+ SmallVector<Value *, 4> Ops(MainAltOps);
Ops.push_back(I1);
Ops.push_back(I2);
InstructionsState S = getSameOpcode(Ops, TLI);
@@ -5236,7 +5236,7 @@ void BoUpSLP::reorderNodeWithReuses(TreeEntry &TE, ArrayRef<int> Mask) const {
TE.ReorderIndices.clear();
// Try to improve gathered nodes with clustered reuses, if possible.
ArrayRef<int> Slice = ArrayRef(NewMask).slice(0, Sz);
- SmallVector<unsigned> NewOrder(Slice.begin(), Slice.end());
+ SmallVector<unsigned> NewOrder(Slice);
inversePermutation(NewOrder, NewMask);
reorderScalars(TE.Scalars, NewMask);
// Fill the reuses mask with the identity submasks.
@@ -7916,8 +7916,7 @@ class BaseShuffleAnalysis {
}
break;
}
- SmallVector<int> ShuffleMask(SV->getShuffleMask().begin(),
- SV->getShuffleMask().end());
+ SmallVector<int> ShuffleMask(SV->getShuffleMask());
combineMasks(LocalVF, ShuffleMask, Mask);
Mask.swap(ShuffleMask);
if (IsOp2Undef)
@@ -8017,15 +8016,13 @@ class BaseShuffleAnalysis {
isUndefVector(SV2->getOperand(1), UseMask2).all()) {
Op1 = SV1->getOperand(0);
Op2 = SV2->getOperand(0);
- SmallVector<int> ShuffleMask1(SV1->getShuffleMask().begin(),
- SV1->getShuffleMask().end());
+ SmallVector<int> ShuffleMask1(SV1->getShuffleMask());
int LocalVF = ShuffleMask1.size();
if (auto *FTy = dyn_cast<FixedVectorType>(Op1->getType()))
LocalVF = FTy->getNumElements();
combineMasks(LocalVF, ShuffleMask1, CombinedMask1);
CombinedMask1.swap(ShuffleMask1);
- SmallVector<int> ShuffleMask2(SV2->getShuffleMask().begin(),
- SV2->getShuffleMask().end());
+ SmallVector<int> ShuffleMask2(SV2->getShuffleMask());
LocalVF = ShuffleMask2.size();
if (auto *FTy = dyn_cast<FixedVectorType>(Op2->getType()))
LocalVF = FTy->getNumElements();
@@ -8062,7 +8059,7 @@ class BaseShuffleAnalysis {
if (isa<PoisonValue>(V1))
return Builder.createPoison(
cast<VectorType>(V1->getType())->getElementType(), Mask.size());
- SmallVector<int> NewMask(Mask.begin(), Mask.end());
+ SmallVector<int> NewMask(Mask);
bool IsIdentity = peekThroughShuffles(V1, NewMask, /*SinglePermute=*/true);
assert(V1 && "Expected non-null value after looking through shuffles.");
@@ -8290,7 +8287,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
return TTI::TCC_Free;
auto *VecTy = getWidenedType(ScalarTy, VL.size());
InstructionCost GatherCost = 0;
- SmallVector<Value *> Gathers(VL.begin(), VL.end());
+ SmallVector<Value *> Gathers(VL);
// Improve gather cost for gather of loads, if we can group some of the
// loads into vector loads.
InstructionsState S = getSameOpcode(VL, *R.TLI);
@@ -8725,7 +8722,7 @@ class BoUpSLP::ShuffleCostEstimator : public BaseShuffleAnalysis {
const PointerUnion<Value *, const TreeEntry *> &P2,
ArrayRef<int> Mask) {
ShuffleCostBuilder Builder(TTI);
- SmallVector<int> CommonMask(Mask.begin(), Mask.end());
+ SmallVector<int> CommonMask(Mask);
Value *V1 = P1.dyn_cast<Value *>(), *V2 = P2.dyn_cast<Value *>();
unsigned CommonVF = Mask.size();
InstructionCost ExtraCost = 0;
diff --git a/llvm/lib/Transforms/Vectorize/VectorCombine.cpp b/llvm/lib/Transforms/Vectorize/VectorCombine.cpp
index 444598520c981..d81c747684f07 100644
--- a/llvm/lib/Transforms/Vectorize/VectorCombine.cpp
+++ b/llvm/lib/Transforms/Vectorize/VectorCombine.cpp
@@ -1434,7 +1434,7 @@ bool VectorCombine::foldShuffleOfBinops(Instruction &I) {
M -= NumSrcElts;
};
- SmallVector<int> NewMask0(OldMask.begin(), OldMask.end());
+ SmallVector<int> NewMask0(OldMask);
TargetTransformInfo::ShuffleKind SK0 = TargetTransformInfo::SK_PermuteTwoSrc;
if (X == Z) {
llvm::for_each(NewMask0, ConvertToUnary);
@@ -1442,7 +1442,7 @@ bool VectorCombine::foldShuffleOfBinops(Instruction &I) {
Z = PoisonValue::get(BinOpTy);
}
- SmallVector<int> NewMask1(OldMask.begin(), OldMask.end());
+ SmallVector<int> NewMask1(OldMask);
TargetTransformInfo::ShuffleKind SK1 = TargetTransformInfo::SK_PermuteTwoSrc;
if (Y == W) {
llvm::for_each(NewMask1, ConvertToUnary);
@@ -1624,7 +1624,7 @@ bool VectorCombine::foldShuffleOfShuffles(Instruction &I) {
return false;
// Merge shuffles - replace index to the RHS poison arg with PoisonMaskElem,
- SmallVector<int, 16> NewMask(OuterMask.begin(), OuterMask.end());
+ SmallVector<int, 16> NewMask(OuterMask);
for (int &M : NewMask) {
if (0 <= M && M < (int)NumImmElts) {
M = (InnerMask0[M] >= (int)NumSrcElts) ? PoisonMaskElem : InnerMask0[M];
``````````
</details>
https://github.com/llvm/llvm-project/pull/101851
More information about the llvm-commits
mailing list