[llvm] [VPlan] Add ComputeAnyOfResult VPInstruction (NFC) (PR #141932)

Luke Lau via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 2 16:49:58 PDT 2025


================
@@ -9764,23 +9784,36 @@ preparePlanForEpilogueVectorLoop(VPlan &Plan, Loop *L,
     Value *ResumeV = nullptr;
     // TODO: Move setting of resume values to prepareToExecute.
     if (auto *ReductionPhi = dyn_cast<VPReductionPHIRecipe>(&R)) {
+      auto *RdxResult =
+          cast<VPInstruction>(*find_if(ReductionPhi->users(), [](VPUser *U) {
+            auto *VPI = dyn_cast<VPInstruction>(U);
+            return VPI &&
+                   (VPI->getOpcode() == VPInstruction::ComputeReductionResult ||
+                    VPI->getOpcode() == VPInstruction::ComputeFindLastIVResult);
----------------
lukel97 wrote:

Does this need to also include VPInstruction::ComputeAnyOfResult? The tests seem to be passing so I'm a bit confused. Or do AnyOf reductions still somehow end up emitting a ComputeReductionResult in some cases?

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


More information about the llvm-commits mailing list