[llvm] [VPlan] Support multiple F(Max|Min)Num reductions. (PR #161735)
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Wed Nov 5 09:20:57 PST 2025
================
@@ -879,52 +873,71 @@ bool VPlanTransforms::handleMaxMinNumReductions(VPlan &Plan) {
}
VPBasicBlock *LatchVPBB = LoopRegion->getExitingBasicBlock();
- VPBuilder Builder(LatchVPBB->getTerminator());
- auto *LatchExitingBranch = cast<VPInstruction>(LatchVPBB->getTerminator());
- assert(LatchExitingBranch->getOpcode() == VPInstruction::BranchOnCount &&
+ VPBuilder LatchBuilder(LatchVPBB->getTerminator());
+ VPValue *IsNaNLane = nullptr;
+ SmallPtrSet<VPValue *, 2> RdxResults;
+ for (const auto &[RedPhiR, MinMaxOp] : MinMaxNumReductionsToHandle) {
+ assert(RecurrenceDescriptor::isFPMinMaxNumRecurrenceKind(
+ RedPhiR->getRecurrenceKind()) &&
+ "unsupported reduction");
+
+ VPValue *IsNaN =
----------------
fhahn wrote:
Updated, thanks
https://github.com/llvm/llvm-project/pull/161735
More information about the llvm-commits
mailing list