Lines Matching refs:TheLoop

139 static void collectCastInstrs(Loop *TheLoop, Instruction *Exit,  in collectCastInstrs()  argument
174 if (TheLoop->contains(I) && !Visited.count(I)) in collectCastInstrs()
214 PHINode *Phi, RecurKind Kind, Loop *TheLoop, FastMathFlags FuncFMF, in AddReductionVar() argument
221 if (Phi->getParent() != TheLoop->getHeader()) in AddReductionVar()
226 Value *RdxStart = Phi->getIncomingValueForBlock(TheLoop->getLoopPreheader()); in AddReductionVar()
340 if (!SE->isLoopInvariant(PtrScev, TheLoop)) { in AddReductionVar()
376 isRecurrenceInstr(TheLoop, Phi, Cur, Kind, ReduxDesc, FuncFMF); in AddReductionVar()
445 if (!TheLoop->contains(Parent)) { in AddReductionVar()
488 !isAnyOfPattern(TheLoop, Phi, UI, IgnoredVal) in AddReductionVar()
588 collectCastInstrs(TheLoop, ExitInstruction, RecurrenceType, CastInsts, in AddReductionVar()
839 bool RecurrenceDescriptor::isReductionPHI(PHINode *Phi, Loop *TheLoop, in isReductionPHI() argument
844 BasicBlock *Header = TheLoop->getHeader(); in isReductionPHI()
852 if (AddReductionVar(Phi, RecurKind::Add, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
857 if (AddReductionVar(Phi, RecurKind::Mul, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
862 if (AddReductionVar(Phi, RecurKind::Or, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
867 if (AddReductionVar(Phi, RecurKind::And, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
872 if (AddReductionVar(Phi, RecurKind::Xor, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
877 if (AddReductionVar(Phi, RecurKind::SMax, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
882 if (AddReductionVar(Phi, RecurKind::SMin, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
887 if (AddReductionVar(Phi, RecurKind::UMax, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
892 if (AddReductionVar(Phi, RecurKind::UMin, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
897 if (AddReductionVar(Phi, RecurKind::IAnyOf, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
903 if (AddReductionVar(Phi, RecurKind::FMul, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
908 if (AddReductionVar(Phi, RecurKind::FAdd, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
913 if (AddReductionVar(Phi, RecurKind::FMax, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
918 if (AddReductionVar(Phi, RecurKind::FMin, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
923 if (AddReductionVar(Phi, RecurKind::FAnyOf, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
929 if (AddReductionVar(Phi, RecurKind::FMulAdd, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
934 if (AddReductionVar(Phi, RecurKind::FMaximum, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
939 if (AddReductionVar(Phi, RecurKind::FMinimum, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
948 bool RecurrenceDescriptor::isFixedOrderRecurrence(PHINode *Phi, Loop *TheLoop, in isFixedOrderRecurrence() argument
952 if (Phi->getParent() != TheLoop->getHeader() || in isFixedOrderRecurrence()
958 auto *Preheader = TheLoop->getLoopPreheader(); in isFixedOrderRecurrence()
959 auto *Latch = TheLoop->getLoopLatch(); in isFixedOrderRecurrence()
985 if (!Previous || !TheLoop->contains(Previous) || isa<PHINode>(Previous)) in isFixedOrderRecurrence()
1276 bool InductionDescriptor::isFPInductionPHI(PHINode *Phi, const Loop *TheLoop, in isFPInductionPHI() argument
1283 if (TheLoop->getHeader() != Phi->getParent()) in isFPInductionPHI()
1291 if (TheLoop->contains(Phi->getIncomingBlock(0))) { in isFPInductionPHI()
1295 assert(TheLoop->contains(Phi->getIncomingBlock(1)) && in isFPInductionPHI()
1320 if (TheLoop->contains(I)) in isFPInductionPHI()
1434 bool InductionDescriptor::isInductionPHI(PHINode *Phi, const Loop *TheLoop, in isInductionPHI() argument
1448 return isFPInductionPHI(Phi, TheLoop, PSE.getSE(), D); in isInductionPHI()
1472 return isInductionPHI(Phi, TheLoop, PSE.getSE(), D, AR, &Casts); in isInductionPHI()
1475 return isInductionPHI(Phi, TheLoop, PSE.getSE(), D, AR); in isInductionPHI()
1479 PHINode *Phi, const Loop *TheLoop, ScalarEvolution *SE, in isInductionPHI() argument
1496 if (AR->getLoop() != TheLoop) { in isInductionPHI()
1521 if (!ConstStep && !SE->isLoopInvariant(Step, TheLoop)) in isInductionPHI()