[llvm] a40dc4e - Simplify mask creation with llvm::seq. NFCI.
Benjamin Kramer via llvm-commits
llvm-commits at lists.llvm.org
Sat Feb 5 17:15:06 PST 2022
Author: Benjamin Kramer
Date: 2022-02-05T23:35:41+01:00
New Revision: a40dc4eaf8a1bdb0656b3a66edec36ec4ef7a0ae
URL: https://github.com/llvm/llvm-project/commit/a40dc4eaf8a1bdb0656b3a66edec36ec4ef7a0ae
DIFF: https://github.com/llvm/llvm-project/commit/a40dc4eaf8a1bdb0656b3a66edec36ec4ef7a0ae.diff
LOG: Simplify mask creation with llvm::seq. NFCI.
Added:
Modified:
llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
llvm/lib/CodeGen/SplitKit.cpp
llvm/lib/Transforms/Scalar/SROA.cpp
Removed:
################################################################################
diff --git a/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp b/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
index 230c6846dde2c..5cd20e53c64a2 100644
--- a/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
+++ b/llvm/lib/CodeGen/InterleavedLoadCombinePass.cpp
@@ -1206,9 +1206,7 @@ bool InterleavedLoadCombineImpl::combine(std::list<VectorInfo> &InterleavedLoad,
->getNumElements();
FixedVectorType *ILTy = FixedVectorType::get(ETy, Factor * ElementsPerSVI);
- SmallVector<unsigned, 4> Indices;
- for (unsigned i = 0; i < Factor; i++)
- Indices.push_back(i);
+ auto Indices = llvm::to_vector<4>(llvm::seq<unsigned>(0, Factor));
InterleavedCost = TTI.getInterleavedMemoryOpCost(
Instruction::Load, ILTy, Factor, Indices, InsertionPoint->getAlign(),
InsertionPoint->getPointerAddressSpace(), CostKind);
diff --git a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
index abf6a3ac69164..5a6804eaf2b34 100644
--- a/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
+++ b/llvm/lib/CodeGen/SelectionDAG/LegalizeVectorOps.cpp
@@ -1050,10 +1050,7 @@ SDValue VectorLegalizer::ExpandZERO_EXTEND_VECTOR_INREG(SDNode *Node) {
// Shuffle the incoming lanes into the correct position, and pull all other
// lanes from the zero vector.
- SmallVector<int, 16> ShuffleMask;
- ShuffleMask.reserve(NumSrcElements);
- for (int i = 0; i < NumSrcElements; ++i)
- ShuffleMask.push_back(i);
+ auto ShuffleMask = llvm::to_vector<16>(llvm::seq<int>(0, NumSrcElements));
int ExtLaneScale = NumSrcElements / NumElements;
int EndianOffset = DAG.getDataLayout().isBigEndian() ? ExtLaneScale - 1 : 0;
diff --git a/llvm/lib/CodeGen/SplitKit.cpp b/llvm/lib/CodeGen/SplitKit.cpp
index 3851a0cdb8e61..f270c3a648b3e 100644
--- a/llvm/lib/CodeGen/SplitKit.cpp
+++ b/llvm/lib/CodeGen/SplitKit.cpp
@@ -1525,9 +1525,8 @@ void SplitEditor::finish(SmallVectorImpl<unsigned> *LRMap) {
// Provide a reverse mapping from original indices to Edit ranges.
if (LRMap) {
- LRMap->clear();
- for (unsigned i = 0, e = Edit->size(); i != e; ++i)
- LRMap->push_back(i);
+ auto Seq = llvm::seq<unsigned>(0, Edit->size());
+ LRMap->assign(Seq.begin(), Seq.end());
}
// Now check if any registers were separated into multiple components.
diff --git a/llvm/lib/Transforms/Scalar/SROA.cpp b/llvm/lib/Transforms/Scalar/SROA.cpp
index 8be8946702be8..ebff174f538ef 100644
--- a/llvm/lib/Transforms/Scalar/SROA.cpp
+++ b/llvm/lib/Transforms/Scalar/SROA.cpp
@@ -2179,10 +2179,7 @@ static Value *extractVector(IRBuilderTy &IRB, Value *V, unsigned BeginIndex,
return V;
}
- SmallVector<int, 8> Mask;
- Mask.reserve(NumElements);
- for (unsigned i = BeginIndex; i != EndIndex; ++i)
- Mask.push_back(i);
+ auto Mask = llvm::to_vector<8>(llvm::seq<int>(BeginIndex, EndIndex));
V = IRB.CreateShuffleVector(V, Mask, Name + ".extract");
LLVM_DEBUG(dbgs() << " shuffle: " << *V << "\n");
return V;
More information about the llvm-commits
mailing list