diff --git a/llvm/lib/Analysis/IVDescriptors.cpp b/llvm/lib/Analysis/IVDescriptors.cpp index a216b0347b9fa..a273338670164 100644 --- a/llvm/lib/Analysis/IVDescriptors.cpp +++ b/llvm/lib/Analysis/IVDescriptors.cpp @@ -1154,6 +1154,8 @@ unsigned RecurrenceDescriptor::getOpcode(RecurKind Kind) { return Instruction::Add; case RecurKind::Mul: return Instruction::Mul; + case RecurKind::IAnyOf: + case RecurKind::FAnyOf: case RecurKind::Or: return Instruction::Or; case RecurKind::And: @@ -1169,7 +1171,6 @@ unsigned RecurrenceDescriptor::getOpcode(RecurKind Kind) { case RecurKind::SMin: case RecurKind::UMax: case RecurKind::UMin: - case RecurKind::IAnyOf: case RecurKind::IFindLastIV: return Instruction::ICmp; case RecurKind::FMax: @@ -1178,7 +1179,6 @@ unsigned RecurrenceDescriptor::getOpcode(RecurKind Kind) { case RecurKind::FMinimum: case RecurKind::FMaximumNum: case RecurKind::FMinimumNum: - case RecurKind::FAnyOf: case RecurKind::FFindLastIV: return Instruction::FCmp; default: diff --git a/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp b/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp index 3fa6a21b80b17..f82c29938b632 100644 --- a/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp +++ b/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp @@ -679,9 +679,6 @@ Value *VPInstruction::generate(VPTransformState &State) { // Reduce all of the unrolled parts into a single vector. Value *ReducedPartRdx = RdxParts[0]; unsigned Op = RdxDesc.getOpcode(); - if (RecurrenceDescriptor::isAnyOfRecurrenceKind(RK)) - Op = Instruction::Or; - if (PhiR->isOrdered()) { ReducedPartRdx = RdxParts[UF - 1]; } else {