[llvm] [VPlan] Delete the redundant overflow check for DataAndControlFlowWithoutRuntimeCheck (PR #79825)
via llvm-commits
llvm-commits at lists.llvm.org
Mon Feb 19 19:18:07 PST 2024
================
@@ -1140,12 +1125,18 @@ static VPActiveLaneMaskPHIRecipe *addVPLaneMaskPhiAndUpdateExitBranch(
// original terminator.
VPRecipeBase *OriginalTerminator = EB->getTerminator();
Builder.setInsertPoint(OriginalTerminator);
- auto *InLoopIncrement =
- Builder.createOverflowingOp(VPInstruction::CanonicalIVIncrementForPart,
- {IncrementValue}, {false, false}, DL);
- auto *ALM = Builder.createNaryOp(VPInstruction::ActiveLaneMask,
- {InLoopIncrement, TripCount}, DL,
- "active.lane.mask.next");
+
+ auto *InLoopIncrement = CanonicalIVIncrement;
+ // When the loop is guarded by a runtime overflow check for the loop induction
----------------
vfdff wrote:
hi @fhahn
Do you mean use **-mllvm -force-tail-folding-style=data-and-control-without-rt-check** to enable **DataAndControlFlowWithoutRuntimeCheck** ? I don't find any change with the option, see https://gcc.godbolt.org/z/M878YbK8d
https://github.com/llvm/llvm-project/pull/79825
More information about the llvm-commits
mailing list