[llvm] c53008d - [VPlan] Manually jumpthread a bit of reduction code for readability [nfc]
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Fri Aug 30 12:47:07 PDT 2024
Author: Philip Reames
Date: 2024-08-30T12:46:49-07:00
New Revision: c53008de899653818b22c44eafd7e5eaab524e2b
URL: https://github.com/llvm/llvm-project/commit/c53008de899653818b22c44eafd7e5eaab524e2b
DIFF: https://github.com/llvm/llvm-project/commit/c53008de899653818b22c44eafd7e5eaab524e2b.diff
LOG: [VPlan] Manually jumpthread a bit of reduction code for readability [nfc]
Added:
Modified:
llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
Removed:
################################################################################
diff --git a/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp b/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
index f84317ba51257a..c9cee652d2d326 100644
--- a/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
+++ b/llvm/lib/Transforms/Vectorize/VPlanRecipes.cpp
@@ -1802,18 +1802,18 @@ void VPReductionRecipe::execute(VPTransformState &State) {
(Instruction::BinaryOps)RdxDesc.getOpcode(Kind), PrevInChain,
NewVecOp);
PrevInChain = NewRed;
+ NextInChain = NewRed;
} else {
PrevInChain = State.get(getChainOp(), Part, /*IsScalar*/ true);
NewRed = createTargetReduction(State.Builder, RdxDesc, NewVecOp);
+ if (RecurrenceDescriptor::isMinMaxRecurrenceKind(Kind))
+ NextInChain = createMinMaxOp(State.Builder, RdxDesc.getRecurrenceKind(),
+ NewRed, PrevInChain);
+ else
+ NextInChain = State.Builder.CreateBinOp(
+ (Instruction::BinaryOps)RdxDesc.getOpcode(Kind), NewRed,
+ PrevInChain);
}
- if (RecurrenceDescriptor::isMinMaxRecurrenceKind(Kind)) {
- NextInChain = createMinMaxOp(State.Builder, RdxDesc.getRecurrenceKind(),
- NewRed, PrevInChain);
- } else if (IsOrdered)
- NextInChain = NewRed;
- else
- NextInChain = State.Builder.CreateBinOp(
- (Instruction::BinaryOps)RdxDesc.getOpcode(Kind), NewRed, PrevInChain);
State.set(this, NextInChain, Part, /*IsScalar*/ true);
}
}
More information about the llvm-commits
mailing list