[llvm] [VPlan] Replace UnrollPart for VPScalarIVSteps with start index op (NFC) (PR #170906)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Mon Jan 19 05:22:49 PST 2026


================
@@ -1526,7 +1526,9 @@ static void simplifyRecipe(VPSingleDefRecipe *Def, VPTypeAnalysis &TypeInfo) {
   // VPScalarIVSteps for part 0 can be replaced by their start value, if only
   // the first lane is demanded.
   if (auto *Steps = dyn_cast<VPScalarIVStepsRecipe>(Def)) {
-    if (Steps->isPart0() && vputils::onlyFirstLaneUsed(Steps)) {
+    if ((Steps->getNumOperands() == 3 ||
+         match(Steps->getOperand(3), m_ZeroInt())) &&
----------------
fhahn wrote:

Yep, this can never happen, as we don't add the operand for Part 0. As mentioned above, could always add the operand, but it would require processing all recipes even for IC = 1 in unroller for now. 

https://github.com/llvm/llvm-project/pull/170906


More information about the llvm-commits mailing list