[llvm] [VPlan] Replicate VPScalarIVStepsRecipe by VF outside replicate regions. (PR #170053)

via llvm-commits llvm-commits at lists.llvm.org
Fri Dec 5 11:16:23 PST 2025


github-actions[bot] wrote:

<!--LLVM CODE FORMAT COMMENT: {clang-format}-->


:warning: C/C++ code formatter, clang-format found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

``````````bash
git-clang-format --diff origin/main HEAD --extensions cpp,h -- llvm/lib/Transforms/Vectorize/LoopVectorizationPlanner.h llvm/lib/Transforms/Vectorize/VPlan.h llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp llvm/lib/Transforms/Vectorize/VPlanTransforms.cpp llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp --diff_from_common_commit
``````````

:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp b/llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
index e366dfbd2..6fa5562a6 100644
--- a/llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
+++ b/llvm/lib/Transforms/Vectorize/VPlanUnroll.cpp
@@ -126,8 +126,9 @@ public:
 };
 } // namespace
 
-static void addStartIndexForScalarSteps(VPScalarIVStepsRecipe *Steps, unsigned Part,
-                        VPlan &Plan, VPTypeAnalysis &TypeInfo) {
+static void addStartIndexForScalarSteps(VPScalarIVStepsRecipe *Steps,
+                                        unsigned Part, VPlan &Plan,
+                                        VPTypeAnalysis &TypeInfo) {
   Type *BaseIVTy = TypeInfo.inferScalarType(Steps->getOperand(0));
   Type *IntStepTy =
       IntegerType::get(BaseIVTy->getContext(), BaseIVTy->getScalarSizeInBits());
@@ -153,7 +154,8 @@ static void addStartIndexForScalarSteps(VPScalarIVStepsRecipe *Steps, unsigned P
   Steps->addOperand(StartIdx0);
 }
 
-void UnrollState::addStartIndexForScalarSteps(VPScalarIVStepsRecipe *Steps, unsigned Part) {
+void UnrollState::addStartIndexForScalarSteps(VPScalarIVStepsRecipe *Steps,
+                                              unsigned Part) {
   return ::addStartIndexForScalarSteps(Steps, Part, Plan, TypeInfo);
 }
 
@@ -571,7 +573,8 @@ cloneForLane(VPlan &Plan, VPBuilder &Builder, Type *IdxTy,
     if (isa<VPScalarIVStepsRecipe>(New)) {
       VPTypeAnalysis TypeInfo(Plan);
       if (New->getNumOperands() == 3)
-        addStartIndexForScalarSteps(cast<VPScalarIVStepsRecipe>(New), 0, Plan, TypeInfo);
+        addStartIndexForScalarSteps(cast<VPScalarIVStepsRecipe>(New), 0, Plan,
+                                    TypeInfo);
 
       if (Lane.getKnownLane() != 0) {
         Type *BaseIVTy = TypeInfo.inferScalarType(DefR->getOperand(0));

``````````

</details>


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


More information about the llvm-commits mailing list