Lines Matching refs:TheLoop

142 static void collectCastInstrs(Loop *TheLoop, Instruction *Exit,  in collectCastInstrs()  argument
177 if (TheLoop->contains(I) && !Visited.count(I)) in collectCastInstrs()
217 PHINode *Phi, RecurKind Kind, Loop *TheLoop, FastMathFlags FuncFMF, in AddReductionVar() argument
224 if (Phi->getParent() != TheLoop->getHeader()) in AddReductionVar()
229 Value *RdxStart = Phi->getIncomingValueForBlock(TheLoop->getLoopPreheader()); in AddReductionVar()
343 if (!SE->isLoopInvariant(PtrScev, TheLoop)) { in AddReductionVar()
379 isRecurrenceInstr(TheLoop, Phi, Cur, Kind, ReduxDesc, FuncFMF); in AddReductionVar()
449 if (!TheLoop->contains(Parent)) { in AddReductionVar()
492 !isSelectCmpPattern(TheLoop, Phi, UI, IgnoredVal) in AddReductionVar()
592 collectCastInstrs(TheLoop, ExitInstruction, RecurrenceType, CastInsts, in AddReductionVar()
825 bool RecurrenceDescriptor::isReductionPHI(PHINode *Phi, Loop *TheLoop, in isReductionPHI() argument
830 BasicBlock *Header = TheLoop->getHeader(); in isReductionPHI()
838 if (AddReductionVar(Phi, RecurKind::Add, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
843 if (AddReductionVar(Phi, RecurKind::Mul, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
848 if (AddReductionVar(Phi, RecurKind::Or, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
853 if (AddReductionVar(Phi, RecurKind::And, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
858 if (AddReductionVar(Phi, RecurKind::Xor, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
863 if (AddReductionVar(Phi, RecurKind::SMax, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
868 if (AddReductionVar(Phi, RecurKind::SMin, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
873 if (AddReductionVar(Phi, RecurKind::UMax, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
878 if (AddReductionVar(Phi, RecurKind::UMin, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
883 if (AddReductionVar(Phi, RecurKind::SelectICmp, TheLoop, FMF, RedDes, DB, AC, in isReductionPHI()
889 if (AddReductionVar(Phi, RecurKind::FMul, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
894 if (AddReductionVar(Phi, RecurKind::FAdd, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
899 if (AddReductionVar(Phi, RecurKind::FMax, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
904 if (AddReductionVar(Phi, RecurKind::FMin, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
909 if (AddReductionVar(Phi, RecurKind::SelectFCmp, TheLoop, FMF, RedDes, DB, AC, in isReductionPHI()
915 if (AddReductionVar(Phi, RecurKind::FMulAdd, TheLoop, FMF, RedDes, DB, AC, DT, in isReductionPHI()
925 PHINode *Phi, Loop *TheLoop, in isFirstOrderRecurrence() argument
929 if (Phi->getParent() != TheLoop->getHeader() || in isFirstOrderRecurrence()
935 auto *Preheader = TheLoop->getLoopPreheader(); in isFirstOrderRecurrence()
936 auto *Latch = TheLoop->getLoopLatch(); in isFirstOrderRecurrence()
948 if (!Previous || !TheLoop->contains(Previous) || isa<PHINode>(Previous) || in isFirstOrderRecurrence()
1288 bool InductionDescriptor::isFPInductionPHI(PHINode *Phi, const Loop *TheLoop, in isFPInductionPHI() argument
1295 if (TheLoop->getHeader() != Phi->getParent()) in isFPInductionPHI()
1303 if (TheLoop->contains(Phi->getIncomingBlock(0))) { in isFPInductionPHI()
1307 assert(TheLoop->contains(Phi->getIncomingBlock(1)) && in isFPInductionPHI()
1332 if (TheLoop->contains(I)) in isFPInductionPHI()
1446 bool InductionDescriptor::isInductionPHI(PHINode *Phi, const Loop *TheLoop, in isInductionPHI() argument
1460 return isFPInductionPHI(Phi, TheLoop, PSE.getSE(), D); in isInductionPHI()
1484 return isInductionPHI(Phi, TheLoop, PSE.getSE(), D, AR, &Casts); in isInductionPHI()
1487 return isInductionPHI(Phi, TheLoop, PSE.getSE(), D, AR); in isInductionPHI()
1491 PHINode *Phi, const Loop *TheLoop, ScalarEvolution *SE, in isInductionPHI() argument
1508 if (AR->getLoop() != TheLoop) { in isInductionPHI()
1527 if (!ConstStep && !SE->isLoopInvariant(Step, TheLoop)) in isInductionPHI()