[llvm] [VPlan] Add VPlan-based addMinIterCheck, replace ILV for non-epilogue. (PR #153643)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 22 02:23:37 PDT 2025
================
@@ -7327,6 +7257,17 @@ DenseMap<const SCEV *, Value *> LoopVectorizationPlanner::executePlan(
BestVPlan.resetTripCount(Exp);
ExpSCEV->eraseFromParent();
}
+ // SCEV expansion will add new instructions in the IRBB wrapped by Entry.
+ // Remove existing VPIRInstructions/VPIRPhi and re-create them to make sure
+ // all IR instructions are wrapped. Otherwise VPInstructions may be inserted
+ // at the wrong place.
----------------
fhahn wrote:
I think handling expanding VPExpandSCEV recipes early and making them abstract recipes would be cleaner. As I first step, I just moved expansion in 300d2c6d2037eb5ea751bd0451d8adc2a1bd5c5d.
I updated this PR to wrap the expanded instructions (20aafa186b2d235206669424f6ef8e93a159a009), which can also be landed separately as it is NFC
https://github.com/llvm/llvm-project/pull/153643
More information about the llvm-commits
mailing list