[llvm] [LV][VPlan] Add initial support for CSA vectorization (PR #106560)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 14 07:55:42 PDT 2024
================
@@ -2914,6 +2920,25 @@ LoopVectorizationCostModel::getVectorIntrinsicCost(CallInst *CI,
TargetTransformInfo::TCK_RecipThroughput);
}
+void InnerLoopVectorizer::fixCSALiveOuts(VPTransformState &State, VPlan &Plan) {
+ for (const auto &CSA : Plan.getCSAStates()) {
+ VPCSADataUpdateRecipe *VPDataUpdate = CSA.second->getDataUpdate();
+ assert(VPDataUpdate &&
+ "VPDataUpdate must have been introduced prior to fixing live outs");
+ Value *V = VPDataUpdate->getUnderlyingValue();
+ Value *ExtractedScalar =
----------------
fhahn wrote:
Can those fixups be directly done in VPlan, similar to how other live-outs are handled (with the exception of induction users, which is the last remaining case that needs fixing up outside of VPlan)?
https://github.com/llvm/llvm-project/pull/106560
More information about the llvm-commits
mailing list