[llvm] [LoopVectorize] Vectorize fixed-order recurrence with vscale x 1. (PR #142772)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Sun Jun 15 07:02:04 PDT 2025


================
@@ -8652,6 +8651,12 @@ static void addExitUsersForFirstOrderRecurrences(
     for (VPIRInstruction *ExitIRI : ExitUsersToFix) {
       if (ExitIRI->getOperand(0) != FOR)
         continue;
+      // For VF vscale x 1, if vscale = 1, we are unable to extract the
+      // penultimate value of the recurrence. Instead, we can extract the last
+      // element directly from VPInstruction::FirstOrderRecurrenceSplice.
----------------
fhahn wrote:

> Instead, we can extract the last element directly from VPInstruction::FirstOrderRecurrenceSplice.

This is done by not removing the user from ExitUsersToFix, right? Could you clarify that the extracts are added  later, by`addUsersInExitBlocks`?

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


More information about the llvm-commits mailing list