[llvm] [VPlan] Enable vectorization of early-exit loops with unit-stride fault-only-first loads (PR #151300)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Mon Oct 6 00:40:24 PDT 2025
================
@@ -3249,6 +3258,42 @@ struct LLVM_ABI_FOR_TEST VPWidenLoadRecipe final : public VPWidenMemoryRecipe,
}
};
+/// A recipe for widening loads using fault-only-first intrinsics.
+/// Produces two results: (1) the loaded data, and (2) the index of the first
+/// non-dereferenceable lane, or VF if all lanes are successfully read.
+struct VPWidenFFLoadRecipe final : public VPWidenMemoryRecipe, public VPValue {
----------------
fhahn wrote:
This maps one-to-one to an intrinsic, right? We support widening intrinsics with struct return types, wondering what would be needed to use VPWidenIntrinsic instead of a dedicated recipe?
https://github.com/llvm/llvm-project/pull/151300
More information about the llvm-commits
mailing list