Lines Matching refs: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"
262 class LoopPredication {
324 LoopPredication(AliasAnalysis *AA, DominatorTree *DT, ScalarEvolution *SE,
338 LoopPredication LP(&AR.AA, &AR.DT, &AR.SE, &AR.LI,
349 std::optional<LoopICmp> LoopPredication::parseLoopICmp(ICmpInst *ICI) {
375 Value *LoopPredication::expandCheck(SCEVExpander &Expander,
478 bool LoopPredication::isSupportedStep(const SCEV* Step) {
482 Instruction *LoopPredication::findInsertPt(Instruction *Use,
490 Instruction *LoopPredication::findInsertPt(const SCEVExpander &Expander,
503 bool LoopPredication::isLoopInvariantValue(const SCEV* S) {
540 std::optional<Value *> LoopPredication::widenICmpRangeCheckIncrementingLoop(
590 std::optional<Value *> LoopPredication::widenICmpRangeCheckDecrementingLoop(
654 LoopPredication::widenICmpRangeCheck(ICmpInst *ICI, SCEVExpander &Expander,
717 void LoopPredication::widenChecks(SmallVectorImpl<Value *> &Checks,
728 bool LoopPredication::widenGuardConditions(IntrinsicInst *Guard,
758 bool LoopPredication::widenWidenableBranchGuardConditions(
808 std::optional<LoopICmp> LoopPredication::parseLoopLatchICmp() {
875 bool LoopPredication::isLoopProfitableToPredicate() {
1031 bool LoopPredication::predicateLoopExits(Loop *L, SCEVExpander &Rewriter) {
1186 bool LoopPredication::runOnLoop(Loop *Loop) {