Searched refs:Plan (Results 1 - 12 of 12) sorted by relevance

/freebsd-13-stable/contrib/llvm-project/llvm/lib/Transforms/Vectorize/
H A DVPlanTransforms.h23 /// Replaces the VPInstructions in \p Plan with corresponding
26 Loop *OrigLoop, VPlanPtr &Plan,
H A DVPlanHCFGBuilder.h48 VPlan &Plan; member in class:llvm::VPlanHCFGBuilder
64 : TheLoop(Lp), LI(LI), Plan(P) {}
66 /// Build H-CFG for TheLoop and update Plan accordingly.
H A DVPlanTransforms.cpp20 Loop *OrigLoop, VPlanPtr &Plan,
24 auto *TopRegion = cast<VPRegionBlock>(Plan->getEntry());
35 Plan->addCBV(NCondBit);
59 *Load, Plan->getOrAddVPValue(getLoadStorePointerOperand(Inst)),
63 *Store, Plan->getOrAddVPValue(getLoadStorePointerOperand(Inst)),
64 Plan->getOrAddVPValue(Store->getValueOperand()), nullptr /*Mask*/);
74 GEP, Plan->mapToVPValues(GEP->operands()), OrigLoop);
77 new VPWidenRecipe(*Inst, Plan->mapToVPValues(Inst->operands()));
19 VPInstructionsToVPRecipes( Loop *OrigLoop, VPlanPtr &Plan, LoopVectorizationLegality::InductionList &Inductions, SmallPtrSetImpl<Instruction *> &DeadInstructions) argument
H A DVPRecipeBuilder.h65 tryToWidenMemory(Instruction *I, VFRange &Range, VPlanPtr &Plan);
79 VPBlendRecipe *tryToBlend(PHINode *Phi, VPlanPtr &Plan);
85 VPlan &Plan) const;
90 VPWidenRecipe *tryToWiden(Instruction *I, VPlan &Plan) const;
103 VPlanPtr &Plan);
118 VPValue *createBlockInMask(BasicBlock *BB, VPlanPtr &Plan);
122 VPValue *createEdgeMask(BasicBlock *Src, BasicBlock *Dst, VPlanPtr &Plan);
144 VPlanPtr &Plan);
155 VPlanPtr &Plan);
H A DVPlanPredicator.h32 VPlan &Plan; member in class:llvm::VPlanPredicator
34 // VPLoopInfo for Plan's HCFG.
37 // Dominator tree for Plan's HCFG.
68 VPlanPredicator(VPlan &Plan);
70 /// Predicate Plan's HCFG.
H A DVPlanPredicator.cpp236 predicateRegionRec(cast<VPRegionBlock>(Plan.getEntry()));
239 linearizeRegionRec(cast<VPRegionBlock>(Plan.getEntry()));
242 VPlanPredicator::VPlanPredicator(VPlan &Plan) argument
243 : Plan(Plan), VPLI(&(Plan.getVPLoopInfo())) {
247 VPDomTree.recalculate(*(cast<VPRegionBlock>(Plan.getEntry())));
H A DVPlanHCFGBuilder.cpp43 VPlan &Plan; member in class:__anon4785::PlainCFGBuilder
74 : TheLoop(Lp), LI(LI), Plan(P) {}
184 Plan.addExternalDef(NewVPVal);
331 PlainCFGBuilder PCFGBuilder(TheLoop, LI, Plan);
339 Plan.setEntry(TopRegion);
340 LLVM_DEBUG(Plan.setName("HCFGBuilder: Plain CFG\n"); dbgs() << Plan);
349 // Compute VPLInfo and keep it in Plan.
350 VPLoopInfo &VPLInfo = Plan.getVPLoopInfo();
H A DVPlan.cpp1 //===- VPlan.cpp - Vectorizer Plan ----------------------------------------===//
88 VPlan *VPBlockBase::getPlan() { return getPlanEntry(this)->Plan; }
90 const VPlan *VPBlockBase::getPlan() const { return getPlanEntry(this)->Plan; }
110 Plan = ParentPlan;
601 OS << "graph [labelloc=t, fontsize=30; label=\"Vectorization Plan";
602 if (!Plan.getName().empty())
603 OS << "\\n" << DOT::EscapeString(Plan.getName());
604 if (Plan.BackedgeTakenCount) {
606 Plan.BackedgeTakenCount->print(OS, SlotTracker);
614 for (const VPBlockBase *Block : depth_first(Plan
920 VPInterleavedAccessInfo(VPlan &Plan, InterleavedAccessInfo &IAI) argument
960 assignSlots(const VPlan &Plan) argument
[all...]
H A DVPlanValue.h1 //===- VPlanValue.h - Represent Values in Vectorizer Plan -----------------===//
205 void assignSlots(const VPlan &Plan);
208 VPSlotTracker(const VPlan *Plan) {
209 if (Plan)
210 assignSlots(*Plan);
H A DLoopVectorizationPlanner.h242 /// Plan how to best vectorize, return the best VF and its cost, or None if
258 for (const auto &Plan : VPlans)
259 O << *Plan; local
H A DLoopVectorize.cpp6629 erase_if(VPlans, [VF](const VPlanPtr &Plan) {
6630 return !Plan->hasVF(VF);
6785 VPlanPtr &Plan) {
6794 VPValue *SrcMask = createBlockInMask(Src, Plan);
6803 VPValue *EdgeMask = Plan->getVPValue(BI->getCondition());
6815 VPValue *VPRecipeBuilder::createBlockInMask(BasicBlock *BB, VPlanPtr &Plan) {
6836 IV = Plan->getVPValue(Legal->getPrimaryInduction());
6842 VPValue *BTC = Plan->getOrCreateBackedgeTakenCount();
6853 VPValue *EdgeMask = createEdgeMask(Predecessor, BB, Plan);
6870 VPlanPtr &Plan) {
[all...]
H A DVPlan.h1 //===- VPlan.h - Represent A Vectorizer Plan --------------------*- C++ -*-===//
10 /// This file contains the declarations of the Vectorization Plan base classes:
381 VPlan *Plan = nullptr;
1677 friend inline raw_ostream &operator<<(raw_ostream &OS, const VPlan &Plan);
1683 const VPlan &Plan;
1693 : OS(O), Plan(P), SlotTracker(&P) {}
1698 /// Print a given \p Block of the Plan.
1709 /// Print a given \p Region of the Plan.
1740 inline raw_ostream &operator<<(raw_ostream &OS, const VPlan &Plan) {
1741 VPlanPrinter Printer(OS, Plan);
[all...]

Completed in 178 milliseconds