Lines Matching defs:LoopPredication
1 //===-- LoopPredication.cpp - Guard based loop predication pass -----------===//
9 // The LoopPredication pass tries to convert loop variant range checks to loop
179 #include "llvm/Transforms/Scalar/LoopPredication.h"
261 class LoopPredication {
323 LoopPredication(AliasAnalysis *AA, DominatorTree *DT, ScalarEvolution *SE,
337 LoopPredication LP(&AR.AA, &AR.DT, &AR.SE, &AR.LI,
348 std::optional<LoopICmp> LoopPredication::parseLoopICmp(ICmpInst *ICI) {
374 Value *LoopPredication::expandCheck(SCEVExpander &Expander,
477 bool LoopPredication::isSupportedStep(const SCEV* Step) {
481 Instruction *LoopPredication::findInsertPt(Instruction *Use,
489 Instruction *LoopPredication::findInsertPt(const SCEVExpander &Expander,
502 bool LoopPredication::isLoopInvariantValue(const SCEV* S) {
539 std::optional<Value *> LoopPredication::widenICmpRangeCheckIncrementingLoop(
589 std::optional<Value *> LoopPredication::widenICmpRangeCheckDecrementingLoop(
653 LoopPredication::widenICmpRangeCheck(ICmpInst *ICI, SCEVExpander &Expander,
716 void LoopPredication::widenChecks(SmallVectorImpl<Value *> &Checks,
727 bool LoopPredication::widenGuardConditions(IntrinsicInst *Guard,
757 bool LoopPredication::widenWidenableBranchGuardConditions(
807 std::optional<LoopICmp> LoopPredication::parseLoopLatchICmp() {
874 bool LoopPredication::isLoopProfitableToPredicate() {
1030 bool LoopPredication::predicateLoopExits(Loop *L, SCEVExpander &Rewriter) {
1185 bool LoopPredication::runOnLoop(Loop *Loop) {