[llvm] [VPlan] Add transform to convert masked EE plan to branch + unmasked ops. (PR #216848)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Tue Sep 8 10:58:51 PDT 2026


================
@@ -547,6 +547,16 @@ struct VPlanTransforms {
   /// \p Plan.
   static void introduceMasksAndLinearize(VPlan &Plan);
 
+  /// Convert the masked (partial-commit) form of an uncountable early-exit loop
+  /// with side effects to the bail-to-scalar form: branch around the loop body
+  /// if any lane takes the exit, leaving the memory operations unmasked, and
+  /// re-execute the iteration in the scalar loop. Must run after
+  /// introduceMasksAndLinearize. Does nothing if \p Plan is not in the expected
----------------
fhahn wrote:

Originally I tried both variants (before and after predication), and this one turned out to be quite a bit simpler. let me check, thanks

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


More information about the llvm-commits mailing list