[llvm] [VPlan] Support VPWidenIntOrFpInductionRecipes with EVL tail folding (PR #144666)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sun Jun 29 05:07:01 PDT 2025
================
@@ -165,18 +166,30 @@ bool VPlanVerifier::verifyEVLRecipe(const VPInstruction &EVL) const {
.Case<VPInstruction>([&](const VPInstruction *I) {
if (I->getOpcode() == Instruction::PHI)
return VerifyEVLUse(*I, 1);
- if (I->getOpcode() != Instruction::Add) {
- errs() << "EVL is used as an operand in non-VPInstruction::Add\n";
+ switch (I->getOpcode()) {
+ case Instruction::Add:
+ break;
+ case Instruction::UIToFP:
+ case Instruction::Trunc:
+ case Instruction::ZExt:
+ case Instruction::Mul:
+ case Instruction::FMul:
+ if (!VerifyLate) {
+ errs() << "EVL used by unexpected VPInstruction\n";
+ return false;
+ }
----------------
fhahn wrote:
```suggestion
// Opcodes above can only use EVL after wide inductions have been expanded.
if (!VerifyLate) {
errs() << "EVL used by unexpected VPInstruction\n";
return false;
}
```
https://github.com/llvm/llvm-project/pull/144666
More information about the llvm-commits
mailing list