[llvm] [VPlan] Handle AnyOf when unrolling. (PR #145340)

Florian Hahn via llvm-commits llvm-commits at lists.llvm.org
Thu Jun 26 14:58:46 PDT 2025


================
@@ -761,8 +761,10 @@ Value *VPInstruction::generate(VPTransformState &State) {
     return Builder.CreatePtrAdd(Ptr, Addend, Name, getGEPNoWrapFlags());
   }
   case VPInstruction::AnyOf: {
-    Value *A = State.get(getOperand(0));
-    return Builder.CreateOrReduce(A);
+    Value *Res = State.get(getOperand(0));
+    for (VPValue *Op : drop_begin(operands()))
+      Res = Builder.CreateOr(Res, State.get(Op));
+    return Builder.CreateOrReduce(Res);
   }
----------------
fhahn wrote:

I added some documentation for ComputeAnyOfResult in 772eb075674b413fe1409cf10c6dc58d560004c5, using the wording from IVDescriptors.h, thanks

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


More information about the llvm-commits mailing list