diff options
Diffstat (limited to 'llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp')
-rw-r--r-- | llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp index 20aa801..72779ab 100644 --- a/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp +++ b/llvm/lib/Transforms/Scalar/LoopStrengthReduce.cpp @@ -6620,17 +6620,17 @@ canFoldTermCondOfLoop(Loop *L, ScalarEvolution &SE, DominatorTree &DT, const LoopInfo &LI) { if (!L->isInnermost()) { LLVM_DEBUG(dbgs() << "Cannot fold on non-innermost loop\n"); - return None; + return std::nullopt; } // Only inspect on simple loop structure if (!L->isLoopSimplifyForm()) { LLVM_DEBUG(dbgs() << "Cannot fold on non-simple loop\n"); - return None; + return std::nullopt; } if (!SE.hasLoopInvariantBackedgeTakenCount(L)) { LLVM_DEBUG(dbgs() << "Cannot fold on backedge that is loop variant\n"); - return None; + return std::nullopt; } BasicBlock *LoopPreheader = L->getLoopPreheader(); @@ -6640,18 +6640,18 @@ canFoldTermCondOfLoop(Loop *L, ScalarEvolution &SE, DominatorTree &DT, // Terminating condition is foldable when it is an eq/ne icmp BranchInst *BI = cast<BranchInst>(LoopLatch->getTerminator()); if (BI->isUnconditional()) - return None; + return std::nullopt; Value *TermCond = BI->getCondition(); if (!isa<ICmpInst>(TermCond) || !cast<ICmpInst>(TermCond)->isEquality()) { LLVM_DEBUG(dbgs() << "Cannot fold on branching condition that is not an " "ICmpInst::eq / ICmpInst::ne\n"); - return None; + return std::nullopt; } if (!TermCond->hasOneUse()) { LLVM_DEBUG( dbgs() << "Cannot replace terminating condition with more than one use\n"); - return None; + return std::nullopt; } // For `IsToFold`, a primary IV can be replaced by other affine AddRec when it @@ -6769,7 +6769,7 @@ canFoldTermCondOfLoop(Loop *L, ScalarEvolution &SE, DominatorTree &DT, << " ToHelpFold: " << *ToHelpFold << "\n"); if (!ToFold || !ToHelpFold) - return None; + return std::nullopt; return {{ToFold, {ToHelpFold, TermValueS}}}; } |