[llvm] [VPlan] Implement interleaving as VPlan-to-VPlan transform. (PR #95842)

via llvm-commits llvm-commits at lists.llvm.org
Wed Sep 18 13:11:15 PDT 2024


================
@@ -1690,6 +1704,13 @@ void VPScalarIVStepsRecipe::execute(VPTransformState &State) {
   }
 }
 
+unsigned VPScalarIVStepsRecipe::getUnrollPartOperand() const {
+  return getNumOperands() == 2
+             ? 0
+             : cast<ConstantInt>(getOperand(2)->getLiveInIRValue())
+                   ->getZExtValue();
+}
+
----------------
ayalz wrote:

```suggestion
VPValue *VPScalarIVStepsRecipe::getUnrollPartOperand() const {
  return getNumOperands() == 2 ? nullptr : getOperand(2);
}

unsigned VPScalarIVStepsRecipe::getUnrollPart() const {
  if (auto *UnrollPartOperand = getUnrollPartOperand())
    return cast<ConstantInt>(UnrollPartOperand->getLiveInIRValue())->getZExtValue();
  return 0;
}

```

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


More information about the llvm-commits mailing list