[llvm] 9f69e11 - [VPlan] Use VPTransformState::UF in vectorizeInterleaveGroup (NFCI).
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 16 13:04:27 PDT 2024
Author: Florian Hahn
Date: 2024-06-16T21:03:47+01:00
New Revision: 9f69e116a55dbd36e2f4fde38317de7262c88d7c
URL: https://github.com/llvm/llvm-project/commit/9f69e116a55dbd36e2f4fde38317de7262c88d7c
DIFF: https://github.com/llvm/llvm-project/commit/9f69e116a55dbd36e2f4fde38317de7262c88d7c.diff
LOG: [VPlan] Use VPTransformState::UF in vectorizeInterleaveGroup (NFCI).
Bring implementations of vectorizeInterleaveGroup in line with other
recipes' execute by using VPTransformState::UF.
Added:
Modified:
llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
index 37b8023e1fcf2..84fee55d18741 100644
--- a/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
+++ b/llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
@@ -2474,7 +2474,7 @@ void InnerLoopVectorizer::vectorizeInterleaveGroup(
} else
Idx = Builder.getInt32(-Index);
- for (unsigned Part = 0; Part < UF; Part++) {
+ for (unsigned Part = 0; Part < State.UF; Part++) {
Value *AddrPart = State.get(Addr, VPIteration(Part, 0));
if (auto *I = dyn_cast<Instruction>(AddrPart))
State.setDebugLocFrom(I->getDebugLoc());
@@ -2539,7 +2539,7 @@ void InnerLoopVectorizer::vectorizeInterleaveGroup(
// For each unroll part, create a wide load for the group.
SmallVector<Value *, 2> NewLoads;
- for (unsigned Part = 0; Part < UF; Part++) {
+ for (unsigned Part = 0; Part < State.UF; Part++) {
Instruction *NewLoad;
if (BlockInMask || MaskForGaps) {
assert(useMaskedInterleavedAccesses(*TTI) &&
@@ -2560,7 +2560,7 @@ void InnerLoopVectorizer::vectorizeInterleaveGroup(
assert(InterleaveFactor == 2 &&
"Unsupported deinterleave factor for scalable vectors");
- for (unsigned Part = 0; Part < UF; ++Part) {
+ for (unsigned Part = 0; Part < State.UF; ++Part) {
// Scalable vectors cannot use arbitrary shufflevectors (only splats),
// so must use intrinsics to deinterleave.
Value *DI = Builder.CreateIntrinsic(
@@ -2603,7 +2603,7 @@ void InnerLoopVectorizer::vectorizeInterleaveGroup(
auto StrideMask =
createStrideMask(I, InterleaveFactor, VF.getKnownMinValue());
- for (unsigned Part = 0; Part < UF; Part++) {
+ for (unsigned Part = 0; Part < State.UF; Part++) {
Value *StridedVec = Builder.CreateShuffleVector(
NewLoads[Part], StrideMask, "strided.vec");
@@ -2634,7 +2634,7 @@ void InnerLoopVectorizer::vectorizeInterleaveGroup(
"masked interleaved groups are not allowed.");
assert((!MaskForGaps || !VF.isScalable()) &&
"masking gaps for scalable vectors is not yet supported.");
- for (unsigned Part = 0; Part < UF; Part++) {
+ for (unsigned Part = 0; Part < State.UF; Part++) {
// Collect the stored vector from each member.
SmallVector<Value *, 4> StoredVecs;
unsigned StoredIdx = 0;
More information about the llvm-commits
mailing list