Simplify mask creation with llvm::seq. NFCI.
This commit is contained in:
parent
171da443d5
commit
a40dc4eaf8
@ -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);
|
||||
|
||||
@ -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;
|
||||
|
||||
@ -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.
|
||||
|
||||
@ -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;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user