[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:38 PDT 2024
================
@@ -60,3 +61,14 @@ bool vputils::isHeaderMask(const VPValue *V, VPlan &Plan) {
return match(V, m_Binary<Instruction::ICmp>(m_VPValue(A), m_VPValue(B))) &&
IsWideCanonicalIV(A) && B == Plan.getOrCreateBackedgeTakenCount();
}
+
+const SCEV *vputils::getSCEVExprForVPValue(VPValue *V, ScalarEvolution &SE) {
+ if (V->isLiveIn())
+ return SE.getSCEV(V->getLiveInIRValue());
+
----------------
ayalz wrote:
This seems to work well for Values at VPlan's boundary: can complement live-ins with live-out/VPIRInstructions which could also simply retrieve SE.getSCEV() of the instruction they wrap; as follow-up, along with concrete use.
https://github.com/llvm/llvm-project/pull/94464
More information about the llvm-commits
mailing list