File tree Expand file tree Collapse file tree 1 file changed +8
-8
lines changed
llvm/lib/Transforms/Vectorize Expand file tree Collapse file tree 1 file changed +8
-8
lines changed Original file line number Diff line number Diff line change @@ -1802,18 +1802,18 @@ void VPReductionRecipe::execute(VPTransformState &State) {
1802
1802
(Instruction::BinaryOps)RdxDesc.getOpcode (Kind), PrevInChain,
1803
1803
NewVecOp);
1804
1804
PrevInChain = NewRed;
1805
+ NextInChain = NewRed;
1805
1806
} else {
1806
1807
PrevInChain = State.get (getChainOp (), Part, /* IsScalar*/ true );
1807
1808
NewRed = createTargetReduction (State.Builder , RdxDesc, NewVecOp);
1809
+ if (RecurrenceDescriptor::isMinMaxRecurrenceKind (Kind))
1810
+ NextInChain = createMinMaxOp (State.Builder , RdxDesc.getRecurrenceKind (),
1811
+ NewRed, PrevInChain);
1812
+ else
1813
+ NextInChain = State.Builder .CreateBinOp (
1814
+ (Instruction::BinaryOps)RdxDesc.getOpcode (Kind), NewRed,
1815
+ PrevInChain);
1808
1816
}
1809
- if (RecurrenceDescriptor::isMinMaxRecurrenceKind (Kind)) {
1810
- NextInChain = createMinMaxOp (State.Builder , RdxDesc.getRecurrenceKind (),
1811
- NewRed, PrevInChain);
1812
- } else if (IsOrdered)
1813
- NextInChain = NewRed;
1814
- else
1815
- NextInChain = State.Builder .CreateBinOp (
1816
- (Instruction::BinaryOps)RdxDesc.getOpcode (Kind), NewRed, PrevInChain);
1817
1817
State.set (this , NextInChain, Part, /* IsScalar*/ true );
1818
1818
}
1819
1819
}
You can’t perform that action at this time.
0 commit comments