[llvm] [LV] Support interleaving with FindLast reductions (PR #184099)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 5 01:09:14 PST 2026


================
@@ -905,13 +905,22 @@ Value *VPInstruction::generate(VPTransformState &State) {
   case VPInstruction::Reverse:
     return Builder.CreateVectorReverse(State.get(getOperand(0)), "reverse");
   case VPInstruction::ExtractLastActive: {
-    Value *Data = State.get(getOperand(0));
-    Value *Mask = State.get(getOperand(1));
-    Value *Default = State.get(getOperand(2), /*IsScalar=*/true);
-    Type *VTy = Data->getType();
-    return Builder.CreateIntrinsic(
-        Intrinsic::experimental_vector_extract_last_active, {VTy},
-        {Data, Mask, Default});
+    Value *Default = State.get(getOperand(0), /*IsScalar=*/true);
+    Value *Result = Default;
----------------
fhahn wrote:

```suggestion
    Value *Result = State.get(getOperand(0), /*IsScalar=*/true);
```

default no longer used other than to set Result?

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


More information about the llvm-commits mailing list