[llvm] [LV] Add support for speculative loads in loops that may fault (PR #151300)

Alexey Bataev via llvm-commits llvm-commits at lists.llvm.org
Wed Jul 30 06:05:42 PDT 2025


================
@@ -9985,6 +9998,25 @@ bool LoopVectorizePass::processLoop(Loop *L) {
     return false;
   }
 
+  if (!LVL.getSpeculativeLoads().empty()) {
+    if (!EnableSpeculativeLoads) {
+      reportVectorizationFailure("Auto-vectorization of loops with speculative "
+                                 "load is not enabled",
+                                 "SpeculativeLoadsDisabled", ORE, L);
+      return false;
+    }
+    // DataWithEVL is needed to lower VPWidenFFLoadRecipe into
+    // VPWidenFFLoadEVLRecipe.
----------------
alexey-bataev wrote:

Why?

https://github.com/llvm/llvm-project/pull/151300


More information about the llvm-commits mailing list