[llvm] [VPlan] Optz WideCanIV with SIVSteps over CanIV (PR #191276)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue Apr 28 00:47:18 PDT 2026


================
@@ -689,6 +729,20 @@ static void removeRedundantCanonicalIVs(VPlan &Plan) {
       return;
     }
   }
+
+  if (!vputils::onlyFirstLaneUsed(WidenNewIV))
+    return;
+
----------------
fhahn wrote:

Right the above changed to onlyFirstLaneUsed from onlyScalarsUsed. can we assert that we don't have `onlyScalarsUsed` in the early exit path then? This should never happen, but if it would we could still replace with ScalarIVSteps, unless for scalable VF. 

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


More information about the llvm-commits mailing list