Lines Matching defs:TheLoop
139 static void collectCastInstrs(Loop *TheLoop, Instruction *Exit,
174 if (TheLoop->contains(I) && !Visited.count(I))
214 PHINode *Phi, RecurKind Kind, Loop *TheLoop, FastMathFlags FuncFMF,
221 if (Phi->getParent() != TheLoop->getHeader())
226 Value *RdxStart = Phi->getIncomingValueForBlock(TheLoop->getLoopPreheader());
340 if (!SE->isLoopInvariant(PtrScev, TheLoop)) {
376 isRecurrenceInstr(TheLoop, Phi, Cur, Kind, ReduxDesc, FuncFMF);
445 if (!TheLoop->contains(Parent)) {
488 !isAnyOfPattern(TheLoop, Phi, UI, IgnoredVal)
588 collectCastInstrs(TheLoop, ExitInstruction, RecurrenceType, CastInsts,
838 bool RecurrenceDescriptor::isReductionPHI(PHINode *Phi, Loop *TheLoop,
843 BasicBlock *Header = TheLoop->getHeader();
851 if (AddReductionVar(Phi, RecurKind::Add, TheLoop, FMF, RedDes, DB, AC, DT,
856 if (AddReductionVar(Phi, RecurKind::Mul, TheLoop, FMF, RedDes, DB, AC, DT,
861 if (AddReductionVar(Phi, RecurKind::Or, TheLoop, FMF, RedDes, DB, AC, DT,
866 if (AddReductionVar(Phi, RecurKind::And, TheLoop, FMF, RedDes, DB, AC, DT,
871 if (AddReductionVar(Phi, RecurKind::Xor, TheLoop, FMF, RedDes, DB, AC, DT,
876 if (AddReductionVar(Phi, RecurKind::SMax, TheLoop, FMF, RedDes, DB, AC, DT,
881 if (AddReductionVar(Phi, RecurKind::SMin, TheLoop, FMF, RedDes, DB, AC, DT,
886 if (AddReductionVar(Phi, RecurKind::UMax, TheLoop, FMF, RedDes, DB, AC, DT,
891 if (AddReductionVar(Phi, RecurKind::UMin, TheLoop, FMF, RedDes, DB, AC, DT,
896 if (AddReductionVar(Phi, RecurKind::IAnyOf, TheLoop, FMF, RedDes, DB, AC, DT,
902 if (AddReductionVar(Phi, RecurKind::FMul, TheLoop, FMF, RedDes, DB, AC, DT,
907 if (AddReductionVar(Phi, RecurKind::FAdd, TheLoop, FMF, RedDes, DB, AC, DT,
912 if (AddReductionVar(Phi, RecurKind::FMax, TheLoop, FMF, RedDes, DB, AC, DT,
917 if (AddReductionVar(Phi, RecurKind::FMin, TheLoop, FMF, RedDes, DB, AC, DT,
922 if (AddReductionVar(Phi, RecurKind::FAnyOf, TheLoop, FMF, RedDes, DB, AC, DT,
928 if (AddReductionVar(Phi, RecurKind::FMulAdd, TheLoop, FMF, RedDes, DB, AC, DT,
933 if (AddReductionVar(Phi, RecurKind::FMaximum, TheLoop, FMF, RedDes, DB, AC, DT,
938 if (AddReductionVar(Phi, RecurKind::FMinimum, TheLoop, FMF, RedDes, DB, AC, DT,
947 bool RecurrenceDescriptor::isFixedOrderRecurrence(PHINode *Phi, Loop *TheLoop,
951 if (Phi->getParent() != TheLoop->getHeader() ||
957 auto *Preheader = TheLoop->getLoopPreheader();
958 auto *Latch = TheLoop->getLoopLatch();
984 if (!Previous || !TheLoop->contains(Previous) || isa<PHINode>(Previous))
1275 bool InductionDescriptor::isFPInductionPHI(PHINode *Phi, const Loop *TheLoop,
1282 if (TheLoop->getHeader() != Phi->getParent())
1290 if (TheLoop->contains(Phi->getIncomingBlock(0))) {
1294 assert(TheLoop->contains(Phi->getIncomingBlock(1)) &&
1319 if (TheLoop->contains(I))
1433 bool InductionDescriptor::isInductionPHI(PHINode *Phi, const Loop *TheLoop,
1447 return isFPInductionPHI(Phi, TheLoop, PSE.getSE(), D);
1471 return isInductionPHI(Phi, TheLoop, PSE.getSE(), D, AR, &Casts);
1474 return isInductionPHI(Phi, TheLoop, PSE.getSE(), D, AR);
1478 PHINode *Phi, const Loop *TheLoop, ScalarEvolution *SE,
1495 if (AR->getLoop() != TheLoop) {
1520 if (!ConstStep && !SE->isLoopInvariant(Step, TheLoop))