[llvm] [VPlan] Enable vectorization of early-exit loops with unit-stride fault-only-first loads (PR #151300)
Shih-Po Hung via llvm-commits
llvm-commits at lists.llvm.org
Sat Sep 20 18:48:14 PDT 2025
================
@@ -7749,6 +7758,12 @@ VPRecipeBuilder::tryToWidenMemory(Instruction *I, ArrayRef<VPValue *> Operands,
Builder.insert(VectorPtr);
Ptr = VectorPtr;
}
+ if (Legal->getSpeculativeLoads().contains(I)) {
+ auto *Load = dyn_cast<LoadInst>(I);
+ return new VPWidenFFLoadRecipe(*Load, Ptr, Mask, VPIRMetadata(*Load, LVer),
----------------
arcbbb wrote:
Updated! After rebasing, this patch supports WidenFFLoad in non–tail-folded mode only. To tail-fold early-exit loops and FFLoad support in the EVL transform will have to be addressed in a separate patch.
https://github.com/llvm/llvm-project/pull/151300
More information about the llvm-commits
mailing list