[llvm] [VPlan] Simplify before convertToConcreteRecipes, remove SCALAR-STEPS. (PR #123655)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 21 13:51:16 PST 2025
================
@@ -888,6 +888,14 @@ static void simplifyRecipe(VPRecipeBase &R, VPTypeAnalysis &TypeInfo) {
return;
}
+ if (auto *Steps = dyn_cast<VPScalarIVStepsRecipe>(&R)) {
+ if (Steps->getParent()->getPlan()->isUnrolled() &&
+ Steps->getNumOperands() == 2 && vputils::onlyFirstLaneUsed(Steps)) {
----------------
fhahn wrote:
If the VPlan gets unrolled, the unrolled part will be added as extra operand. No operand implies being for the first part and we cannot simplify other parts.
I added a comment to clarify (and also added a hopefully more descriptive way to check for part 0)
https://github.com/llvm/llvm-project/pull/123655
More information about the llvm-commits
mailing list