================ @@ -8292,13 +8271,13 @@ VPRecipeOrVPValueTy VPRecipeBuilder::tryToBlend(PHINode *Phi, for (unsigned In = 0; In < NumIncoming; In++) { VPValue *EdgeMask = createEdgeMask(Phi->getIncomingBlock(In), Phi->getParent(), *Plan); - assert((EdgeMask || NumIncoming == 1) && + assert((EdgeMask || NumIncoming == 1 || Operands[In] == Operands[0]) && ---------------- fhahn wrote:
There can be degenerate cases like ``` loop.1.header: %iv.1 = phi i32 [ 0, %entry ], [ %iv.1.next, %loop.1.latch ] %l = load i32, ptr %A br i1 %c, label %loop.1.latch, label %loop.1.latch loop.1.latch: %p = phi i32 [ %l, %loop.1.header ], [ %l, %loop.1.header ] %iv.1.next = add nuw nsw i32 %iv.1, 1 %ec.1 = icmp eq i32 %iv.1.next, 100 br i1 %ec.1, label %exit.1, label %loop.1.header ``` https://github.com/llvm/llvm-project/pull/76090 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits