Lines Matching defs:PDT
182 const PostDominatorTree *PDT;
186 FusionCandidate(Loop *L, DominatorTree &DT, const PostDominatorTree *PDT,
192 Peeled(false), DT(DT), PDT(PDT), ORE(ORE) {
403 // Do not save PDT to local variable as it is only used in asserts and thus
405 assert(DT && LHS.PDT && "Expecting valid dominator tree");
411 assert(LHS.PDT->dominates(LHSEntryBlock, RHSEntryBlock));
417 assert(LHS.PDT->dominates(RHSEntryBlock, LHSEntryBlock));
426 nonStrictlyPostDominate(LHSEntryBlock, RHSEntryBlock, DT, LHS.PDT);
428 nonStrictlyPostDominate(RHSEntryBlock, LHSEntryBlock, DT, LHS.PDT);
433 DomTreeNode *LNode = LHS.PDT->getNode(LHSEntryBlock);
434 DomTreeNode *RNode = LHS.PDT->getNode(RHSEntryBlock);
574 PostDominatorTree &PDT;
581 ScalarEvolution &SE, PostDominatorTree &PDT,
584 : LDT(LI), DTU(DT, PDT, DomTreeUpdater::UpdateStrategy::Lazy), LI(LI),
585 DT(DT), DI(DI), SE(SE), PDT(PDT), ORE(ORE), AC(AC), TTI(TTI) {}
641 assert(PDT.verify());
662 DT, PDT);
672 FusionCandidate CurrCand(L, DT, &PDT, ORE, PP);
807 // Peeling does not update the PDT
808 PDT.recalculate(*FC0.Preheader->getParent());
947 &PDT, &DI)) {
957 *FC0->GuardBranch->getParent()->getTerminator(), DT, &PDT,
1036 performFusion((Peel ? FC0Copy : *FC0), *FC1), DT, &PDT, ORE,
1536 moveInstructionsToTheBeginning(*FC0.Latch, *FC1.Latch, DT, PDT, DI);
1581 moveInstructionsToTheEnd(*FC1.Preheader, *FC0.Preheader, DT, PDT, DI);
1612 // Then modify the control flow and update DT and PDT.
1631 // the DT/PDT becomes invalid
1714 // Update DT/PDT
1760 assert(PDT.verify());
1830 DT, PDT, DI);
1834 moveInstructionsToTheEnd(*FC1GuardBlock, *FC0GuardBlock, DT, PDT, DI);
2005 // Update DT/PDT
2054 assert(PDT.verify());
2071 auto &PDT = AM.getResult<PostDominatorTreeAnalysis>(F);
2086 PDT.recalculate(F);
2088 LoopFuser LF(LI, DT, DI, SE, PDT, ORE, DL, AC, TTI);