[llvm] [LV] Use wide lane masks as the canonical form when tail-folding & interleaving (PR #209484)

David Sherwood via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 5 02:41:14 PDT 2026


================
@@ -1232,8 +1232,16 @@ class LLVM_ABI_FOR_TEST VPInstruction : public VPRecipeWithIRFlags,
     // Creates a mask where each lane is active (true) whilst the current
     // counter (first operand + index) is less than the second operand. i.e.
     //    mask[i] = icmpt ult (op0 + i), op1
-    // The size of the mask returned is VF * Multiplier (UF, third op).
+    // The size of the mask returned is VF.
+    // When unrolled, ActiveLaneMask is duplicated.
----------------
david-arm wrote:

Is this still true given that WideActiveLaneMask is now the canonical form for unrolled, tail-folded loops? If `WideActiveLaneMask` isn't used as the canonical form for all loops, it would be good to explain in which scenarios unrolling using ActiveLaneMask occurs.

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


More information about the llvm-commits mailing list