[llvm] [VPlan] Add initial VPScalarEvolution, use to get trip count SCEV (NFC) (PR #94464)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 16 13:24:39 PDT 2024
================
@@ -905,8 +905,9 @@ Value *getRuntimeVF(IRBuilderBase &B, Type *Ty, ElementCount VF) {
return B.CreateElementCount(Ty, VF);
}
-const SCEV *createTripCountSCEV(Type *IdxTy, PredicatedScalarEvolution &PSE,
- Loop *OrigLoop) {
+static const SCEV *createTripCountSCEV(Type *IdxTy,
+ PredicatedScalarEvolution &PSE,
+ Loop *OrigLoop) {
----------------
ayalz wrote:
Possibly here or as follow-up:
The call to createTripCountSCEV() in LVP::selectEpilogueVectorizationFactor() has available VPlans from which to retrieve a TripCount VPValue and call the new API instead of continuing to call createTripCountSCEV().
The other two calls to createTripCountSCEV() are inside calls to VPlan::createInitialVPlan(), setting its first parameter; should they be inlined into createInitialVPlan() itself instead?
Thereby retiring createTripCountSCEV altogether, leaving only vputils::getSCEVExprForVPValue(Plan.getTripCount(), SE) as the way to obtain the SCEV of a loop's trip count.
https://github.com/llvm/llvm-project/pull/94464
More information about the llvm-commits
mailing list