[llvm] [LV] Convert scatter stores with constant stride into strided stores (PR #206896)
Mel Chen via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 5 01:47:35 PDT 2026
================
@@ -5698,17 +5697,29 @@ void VPlanTransforms::convertToStridedAccesses(VPlan &Plan,
m_SpecificLoop(&L))))
continue;
- Type *LoadTy = LoadR->getScalarType();
- Align Alignment = LoadR->getAlign();
+ VPValue *StoredValue = nullptr;
+ Type *DataTy;
+ Intrinsic::ID IntrinID;
+ if (auto *StoreR = dyn_cast<VPWidenStoreRecipe>(&R)) {
+ StoredValue = StoreR->getStoredValue();
+ DataTy = StoredValue->getScalarType();
+ IntrinID = Intrinsic::experimental_vp_strided_store;
+ } else if (auto *LoadR = dyn_cast<VPWidenLoadRecipe>(&R)) {
+ DataTy = LoadR->getScalarType();
+ IntrinID = Intrinsic::experimental_vp_strided_load;
+ } else {
+ continue;
----------------
Mel-Chen wrote:
e5549ae40c651a8b471d07fd320a839105c564fe
Switch to using cast to ensure that convertToStridedAccesses should not encounter EVL memory recipes.
https://github.com/llvm/llvm-project/pull/206896
More information about the llvm-commits
mailing list