Skip to content

Commit 4e93607

Browse files
author
git apple-llvm automerger
committed
Merge commit 'cbf7b52a6589' from llvm.org/main into next
2 parents 51d0cd7 + cbf7b52 commit 4e93607

File tree

2 files changed

+4
-1
lines changed

2 files changed

+4
-1
lines changed

llvm/lib/Transforms/Vectorize/LoopVectorize.cpp

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9271,6 +9271,9 @@ void LoopVectorizationPlanner::adjustRecipesForReductions(
92719271
? new VPInstruction(Instruction::Select, {Cond, Red, PhiR}, FMFs)
92729272
: new VPInstruction(Instruction::Select, {Cond, Red, PhiR});
92739273
Result->insertBefore(&*Builder.getInsertPoint());
9274+
Red->replaceUsesWithIf(
9275+
Result->getVPSingleValue(),
9276+
[](VPUser &U, unsigned) { return isa<VPLiveOut>(&U); });
92749277
if (PreferPredicatedReductionSelect ||
92759278
TTI.preferPredicatedReductionSelect(
92769279
PhiR->getRecurrenceDescriptor().getOpcode(), PhiTy,

llvm/test/Transforms/LoopVectorize/first-order-recurrence-sink-replicate-region.ll

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,7 @@ define i32 @sink_replicate_region_3_reduction(i32 %x, i8 %y, ptr %ptr) optsize {
214214
; CHECK-NEXT: middle.block:
215215
; CHECK-NEXT: No successors
216216
; CHECK-EMPTY:
217-
; CHECK-NEXT: Live-out i32 %res = ir<%and.red.next>
217+
; CHECK-NEXT: Live-out i32 %res = vp<[[SEL]]>
218218
; CHECK-NEXT: }
219219
;
220220
entry:

0 commit comments

Comments
 (0)