Skip to content

Commit edfe9b6

Browse files
committed
[VPlan] Treat VPVector(End)PointerRecipe as single-scalar, if ops are.
VPVector(End)PointerRecipes are single-scalar if all their operands are. This should be effectively NFC currently, but it should re-enable cost checking for some more VPWidenMemoryRecipe after #157387 as discovered by @john-brawn-arm.
1 parent f7ed15b commit edfe9b6

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

llvm/lib/Transforms/Vectorize/VPlanUtils.cpp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,8 @@ bool vputils::isSingleScalar(const VPValue *VPV) {
185185
all_of(Rep->operands(), isSingleScalar));
186186
}
187187
if (isa<VPWidenGEPRecipe, VPDerivedIVRecipe, VPBlendRecipe,
188-
VPWidenSelectRecipe>(VPV))
188+
VPWidenSelectRecipe, VPVectorPointerRecipe, VPVectorEndPointerRecipe>(
189+
VPV))
189190
return all_of(VPV->getDefiningRecipe()->operands(), isSingleScalar);
190191
if (auto *WidenR = dyn_cast<VPWidenRecipe>(VPV)) {
191192
return preservesUniformity(WidenR->getOpcode()) &&

0 commit comments

Comments
 (0)