[clang] [flang] [clang-tools-extra] [compiler-rt] [llvm] [VPlan] Replace VPRecipeOrVPValue with VP2VP recipe simplification. (PR #76090)
via cfe-commits
cfe-commits at lists.llvm.org
Fri Jan 26 03:34:26 PST 2024
================
@@ -8999,6 +8963,18 @@ void LoopVectorizationPlanner::adjustRecipesForReductions(
LinkVPBB->insert(FMulRecipe, CurrentLink->getIterator());
VecOp = FMulRecipe;
} else {
+ auto *Blend = dyn_cast<VPBlendRecipe>(CurrentLink);
+ if (PhiR->isInLoop() && Blend) {
+ assert(Blend->getNumIncomingValues() == 2);
+ assert(any_of(Blend->operands(),
+ [PhiR](VPValue *Op) { return Op == PhiR; }));
+ if (Blend->getIncomingValue(0) == PhiR)
+ Blend->replaceAllUsesWith(Blend->getIncomingValue(1));
+ else
----------------
ayalz wrote:
```suggestion
else {
assert(Blend->getIncomingValue(1) == PhiR && "...");
```
instead of above assert(any_of(...))?
https://github.com/llvm/llvm-project/pull/76090
More information about the cfe-commits
mailing list