Home
last modified time | relevance | path

Searched refs:VPDT (Results 1 – 8 of 8) sorted by relevance

/freebsd/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanVerifier.cpp29 const VPDominatorTree &VPDT; member in __anone890bbb50111::VPlanVerifier
64 VPlanVerifier(VPDominatorTree &VPDT, VPTypeAnalysis &TypeInfo, in VPlanVerifier() argument
66 : VPDT(VPDT), TypeInfo(TypeInfo), VerifyLate(VerifyLate) {} in VPlanVerifier()
76 bool IsHeaderVPBB = VPBlockUtils::isHeader(VPBB, VPDT); in verifyPhiRecipes()
251 if (VPDT.dominates(VPBB, IncomingVPBB)) in verifyVPBasicBlock()
277 if (VPDT.dominates(VPBB, UI->getParent())) in verifyVPBasicBlock()
484 VPDominatorTree VPDT; in verifyVPlanIsValid() local
485 VPDT.recalculate(const_cast<VPlan &>(Plan)); in verifyVPlanIsValid()
487 VPlanVerifier Verifier(VPDT, TypeInfo, VerifyLate); in verifyVPlanIsValid()
H A DVPlanConstruction.cpp355 const VPDominatorTree &VPDT) { in canonicalHeaderAndLatch() argument
362 if (!VPDT.dominates(PreheaderVPBB, HeaderVPB) || in canonicalHeaderAndLatch()
363 !VPDT.dominates(HeaderVPB, LatchVPBB)) { in canonicalHeaderAndLatch()
366 if (!VPDT.dominates(PreheaderVPBB, HeaderVPB) || in canonicalHeaderAndLatch()
367 !VPDT.dominates(HeaderVPB, LatchVPBB)) in canonicalHeaderAndLatch()
462 VPDominatorTree VPDT; in prepareForVectorization() local
463 VPDT.recalculate(Plan); in prepareForVectorization()
466 canonicalHeaderAndLatch(HeaderVPB, VPDT); in prepareForVectorization()
583 VPDominatorTree VPDT; in createLoopRegions() local
584 VPDT.recalculate(Plan); in createLoopRegions()
[all …]
H A DVPlanUtils.cpp131 VPBasicBlock *vputils::getFirstLoopHeader(VPlan &Plan, VPDominatorTree &VPDT) { in getFirstLoopHeader() argument
133 auto I = find_if(DepthFirst, [&VPDT](VPBlockBase *VPB) { in getFirstLoopHeader()
134 return VPBlockUtils::isHeader(VPB, VPDT); in getFirstLoopHeader()
H A DVPlanUtils.h99 VPBasicBlock *getFirstLoopHeader(VPlan &Plan, VPDominatorTree &VPDT);
244 static bool isHeader(const VPBlockBase *VPB, const VPDominatorTree &VPDT);
247 static bool isLatch(const VPBlockBase *VPB, const VPDominatorTree &VPDT);
H A DVPlan.cpp211 const VPDominatorTree &VPDT) { in isHeader() argument
224 VPDT.dominates(VPB, VPB->getPredecessors()[1]); in isHeader()
228 const VPDominatorTree &VPDT) { in isLatch() argument
233 VPBlockUtils::isHeader(VPB->getSuccessors()[1], VPDT); in isLatch()
250 VPDT(*Plan) {} in VPTransformState()
302 VPDT.properlyDominates(Def->getDefiningRecipe()->getParent(), in get()
460 if (VPBlockUtils::isHeader(this, State.VPDT)) { in connectToPredecessors()
540 if (VPBlockUtils::isHeader(this, State->VPDT)) { in execute()
583 if (VPBlockUtils::isLatch(this, State->VPDT)) in execute()
1003 State->VPDT.recalculate(*this); in execute()
[all …]
H A DVPlanTransforms.cpp1544 VPDominatorTree &VPDT) { in sinkRecurrenceUsersAfterPrevious() argument
1557 VPDT.properlyDominates(Previous, SinkCandidate)) in sinkRecurrenceUsersAfterPrevious()
1582 sort(WorkList, [&VPDT](const VPRecipeBase *A, const VPRecipeBase *B) { in sinkRecurrenceUsersAfterPrevious()
1583 return VPDT.properlyDominates(A, B); in sinkRecurrenceUsersAfterPrevious()
1599 VPDominatorTree &VPDT) { in hoistPreviousBeforeFORUsers() argument
1611 if (!HoistPoint || VPDT.properlyDominates(R, HoistPoint)) in hoistPreviousBeforeFORUsers()
1615 [&VPDT, HoistPoint](VPUser *U) { in hoistPreviousBeforeFORUsers()
1618 VPDT.properlyDominates(HoistPoint, R); in hoistPreviousBeforeFORUsers()
1622 auto NeedsHoisting = [HoistPoint, &VPDT, in hoistPreviousBeforeFORUsers()
1643 if (VPDT.properlyDominates(HoistCandidate, HoistPoint)) in hoistPreviousBeforeFORUsers()
[all …]
H A DVPlanHelpers.h340 VPDominatorTree VPDT; member
H A DLoopVectorize.cpp2672 vputils::getFirstLoopHeader(*State.Plan, State.VPDT); in fixVectorizedLoop()
7346 VPBasicBlock *HeaderVPBB = vputils::getFirstLoopHeader(BestVPlan, State.VPDT); in executePlan()