Lines Matching refs:TheLoop

165 static void collectCastsToIgnore(Loop *TheLoop, Instruction *Exit,  in collectCastsToIgnore()  argument
189 if (TheLoop->contains(I) && !Visited.count(I)) in collectCastsToIgnore()
219 Loop *TheLoop, FastMathFlags FuncFMF, in AddReductionVar() argument
228 if (Phi->getParent() != TheLoop->getHeader()) in AddReductionVar()
233 Value *RdxStart = Phi->getIncomingValueForBlock(TheLoop->getLoopPreheader()); in AddReductionVar()
390 if (!TheLoop->contains(Parent)) { in AddReductionVar()
490 collectCastsToIgnore(TheLoop, ExitInstruction, RecurrenceType, CastInsts); in AddReductionVar()
648 bool RecurrenceDescriptor::isReductionPHI(PHINode *Phi, Loop *TheLoop, in isReductionPHI() argument
653 BasicBlock *Header = TheLoop->getHeader(); in isReductionPHI()
661 if (AddReductionVar(Phi, RecurKind::Add, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
665 if (AddReductionVar(Phi, RecurKind::Mul, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
669 if (AddReductionVar(Phi, RecurKind::Or, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
673 if (AddReductionVar(Phi, RecurKind::And, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
677 if (AddReductionVar(Phi, RecurKind::Xor, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
681 if (AddReductionVar(Phi, RecurKind::SMax, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
685 if (AddReductionVar(Phi, RecurKind::SMin, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
689 if (AddReductionVar(Phi, RecurKind::UMax, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
693 if (AddReductionVar(Phi, RecurKind::UMin, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
697 if (AddReductionVar(Phi, RecurKind::FMul, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
701 if (AddReductionVar(Phi, RecurKind::FAdd, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
705 if (AddReductionVar(Phi, RecurKind::FMax, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
709 if (AddReductionVar(Phi, RecurKind::FMin, TheLoop, FMF, RedDes, DB, AC, DT)) { in isReductionPHI()
718 PHINode *Phi, Loop *TheLoop, in isFirstOrderRecurrence() argument
722 if (Phi->getParent() != TheLoop->getHeader() || in isFirstOrderRecurrence()
728 auto *Preheader = TheLoop->getLoopPreheader(); in isFirstOrderRecurrence()
729 auto *Latch = TheLoop->getLoopLatch(); in isFirstOrderRecurrence()
741 if (!Previous || !TheLoop->contains(Previous) || isa<PHINode>(Previous) || in isFirstOrderRecurrence()
1008 bool InductionDescriptor::isFPInductionPHI(PHINode *Phi, const Loop *TheLoop, in isFPInductionPHI() argument
1015 if (TheLoop->getHeader() != Phi->getParent()) in isFPInductionPHI()
1023 if (TheLoop->contains(Phi->getIncomingBlock(0))) { in isFPInductionPHI()
1027 assert(TheLoop->contains(Phi->getIncomingBlock(1)) && in isFPInductionPHI()
1052 if (TheLoop->contains(I)) in isFPInductionPHI()
1166 bool InductionDescriptor::isInductionPHI(PHINode *Phi, const Loop *TheLoop, in isInductionPHI() argument
1180 return isFPInductionPHI(Phi, TheLoop, PSE.getSE(), D); in isInductionPHI()
1204 return isInductionPHI(Phi, TheLoop, PSE.getSE(), D, AR, &Casts); in isInductionPHI()
1207 return isInductionPHI(Phi, TheLoop, PSE.getSE(), D, AR); in isInductionPHI()
1211 PHINode *Phi, const Loop *TheLoop, ScalarEvolution *SE, in isInductionPHI() argument
1228 if (AR->getLoop() != TheLoop) { in isInductionPHI()
1249 if (!ConstStep && !SE->isLoopInvariant(Step, TheLoop)) in isInductionPHI()